動的キャッシュ・サービスのマルチセルおよびマルチコア・グループの無効化をスクリプトによって使用可能にする
dynacacheJMSSIB.py スクリプトを使用して、動的キャッシュ・サービスのマルチセルおよびマルチコア・グループの無効化を使用可能にすることができます。 このスクリプトは、複数セル内の外部キャッシュ・アダプターおよびサービス統合バス・インフラストラクチャーを構成します。 このスクリプトが正しく機能するには、 WAS_INSTALL_ROOT/profiles/PROFILE_NAME/bin ディレクトリーから実行する必要があります。
始める前に
このタスクを開始する前に、wsadmin ツールが稼働している必要があります。 詳しくは、wsadmin ツールの開始方法のトピックを参照してください。
以下の点も確認してください。
- 各セルまたは各コア・グループに、実動アプリケーションをホストするクラスターが含まれること。 無効化 ID が正しく処理されるように、両方のセルまたはコア・グループで同じ実動アプリケーションが使用される必要があります。
- 2 つのサーバーの別個のクラスターが、サービス統合バスをホストするため、各セルまたは各コア・グループに作成されていること。 このクラスターのメンバーには、RemoteJMSInvalidator 外部キャッシュ・グループを定義できません。 これらのクラスター・メンバーに RemoteJMSInvalidator 外部キャッシュ・グループが定義されていると、 セル間で無効化が繰り返し送信される無限ループバック状態になります。
- データ・ソースが定義されていて、両方のサービス統合バス・クラスター・メンバーから アクセス可能であること。データベースが両方のセルによって共有される場合、各セルの各データ・ソースを定義するときに固有のデータベース名が使用されるようにしてください。
- 各セルまたは各コア・グループが 1 つの複製ドメインを含んでいて、その複製ドメイン内には、サービス統合バス・クラスターと、 実動アプリケーションをホスティングするすべてのクラスターの両方が含まれること。
このタスクについて
dynacacheJMSSIB.py スクリプトは、次の 3 つのステップで各セルまたは各コア・グループを構成します。
- インバウンド JMS/サービス統合バスの構成。インバウンド JMS/サービス統合バスの構成には、以下が含まれます。
- サービス統合バスの作成と、サービス統合バス宛先の構成
- Java Message Service (JMS) の作成
- JMS アクティベーション・スペックの構成
- サービス統合バス・クラスターへの WAS_INSTALL_ROOT/installables/DynacacheMessageHandler.ear メッセージ駆動型 Bean のインストール
- アウトバウンド JMS/サービス統合バスの構成。
アウトバウンド JMS/サービス統合バスの構成には、リモート・セルと通信するための JMS キュー接続ファクトリーの構成が含まれます。
- 外部キャッシュ・グループの構成。
外部キャッシュ・グループの構成には、 実動アプリケーションをホストする各クラスター・メンバー上の外部キャッシュ・グループおよび外部キャッシュ・アダプターの構成が含まれます。
jython を使用して、--help と該当の --setup=xxx オプションを指定すると、
各コマンドに使用可能なパラメーターが表示されます。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py
--setup=dynacacheInSIB --help
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py
--setup=dynacacheOutSIB --help
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py
--setup=ddynacacheECA --help
インバウンド、アウトバウンド、または ECA の構成を削除するには、 それぞれの構成成果物の作成で使用されたコマンドに --delete を追加します。
例 1: マルチセル
この例では、
同じアプリケーション ApplicationA をホストする 2 つのセル Cell1 および Cell2 を構成するために、スクリプトがどのように使用されるかを示します。
Cell1
ProductionCluster1 (hosts ApplicationA)
SIBCluster1
node1/sib1 (service integration bus member)
SIB_ENDPOINT_ADDRESS=7777
hostname=host1.com
node1b/sib2 (service integration bus member)
SIB_ENDPOINT_ADDRESS=7776
hostname=host11.com
ReplicationDomain (contains ProductionCluster1 members and SIBCluster1
members)
Service Integration Bus Data Source1
JNDI name = jdbc/SIBCluster1DataSource
Cell2
ProductionCluster2 (hosts ApplicationA)
SIBCluster2
node2/sib1 (service integration bus member)
SIB_ENDPOINT_ADDRESS=8888
hostname=host2.com
nodesb/sib2 (service integration bus member)
SIB_ENDPOINT_ADDRESS=8889
hostname=host22.com
ReplicationDomain (contains ProductionCluster2 members and SIBCluster2
members)
Service Integration Bus Data Source2
JNDI name = jdbc/SIBCluster2DataSource
以下のステップを実行して、Cell1 および Cell2 に対する動的キャッシュ・サービスのセル無効化サポートを使用可能にします。
- 次のコマンドを実行して、Cell1 のインバウンド JMS/サービス統合バスを構成します。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheInSIB --cluster=SIBCluster1 --datasourceJNDI=jdbc/SIBCluster1DataSource
- 次のコマンドを実行して、Cell2 のインバウンド JMS/サービス統合バスを構成します。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheInSIB --cluster=SIBCluster2 --datasourceJNDI=jdbc/SIBCluster2DataSource
- 次のコマンドを実行して、Cell1 のアウトバウンド JMS/サービス統合バスを構成します。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheOutSIB --remoteCellSIBServers=host2.com:8888,host22.com:8889 --remoteCellID=Cell2
- 次のコマンドを実行して、Cell2 のアウトバウンド JMS/サービス統合バスを構成します。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheOutSIB --remoteCellSIBServers=host1.com:7777,host11.com:7776 --remoteCellID=Cell1
- 次のコマンドを実行して、Cell1 の外部キャッシュ・グループ/アダプターを構成します。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheECA --cluster=ProductionCluster1 --remoteCellID=Cell2
- 次のコマンドを実行して、Cell2 の外部キャッシュ・グループ/アダプターを構成します。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheECA --cluster=ProductionCluster2 --remoteCellID=Cell1
この例では、マルチコア・グループを含む単一セルを構成するために、スクリプトがどのように使用されるかを示します。
コア・グループは、同じアプリケーション (ApplicationA) をホストします。
CoreGroup1
ProductionCluster1 (hosts ApplicationA)
SIBCluster1
node1/sib1 (service integration bus member)
SIB_ENDPOINT_ADDRESS=7777
hostname=host1.com
node1b/sib2 (service integration bus member)
SIB_ENDPOINT_ADDRESS=7776
hostname=host11.com
ReplicationDomain (contains ProductionCluster1 members and SIBCluster1
members)
Service Integration Bus Data Source1
JNDI name = jdbc/SIBCluster1DataSource
Cell2 の CoreGroup2 も
ApplicationA をホストし、そのトポロジーは次のとおりです。
CoreGroup2
ProductionCluster2 (hosts ApplicationA)
SIBCluster2
node2/sib1 (service integration bus member)
SIB_ENDPOINT_ADDRESS=8888
hostname=host2.com
nodesb/sib2 (service integration bus member)
SIB_ENDPOINT_ADDRESS=8889
hostname=host22.com
ReplicationDomain (contains ProductionCluster2 members and SIBCluster2
members)
Service Integration Bus Data Source2
JNDI name = jdbc/SIBCluster2DataSource
以下のステップを実行して、CoreGroup1 および CoreGroup2 に対する動的キャッシュ・サービスのコア・グループ無効化サポートを使用可能にします。
- 次のコマンドを実行して、CoreGroup1 のインバウンド JMS/サービス統合バスを構成します。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheInSIB --localCellID=Cell1/CoreGroup1 --cluster=SIBCluster1 --datasourceJNDI=jdbc/SIBCluster1DataSource
- 次のコマンドを実行して、CoreGroup2 のインバウンド JMS/サービス統合バスを構成します。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheInSIB --localCellID=Cell1/CoreGroup2 --cluster=SIBCluster2 --datasourceJNDI=jdbc/SIBCluster2DataSource
- 次のコマンドを実行して、CoreGroup1 のアウトバウンド JMS/サービス統合バスを構成します。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheOutSIB --localCellID=Cell1/CoreGroup1 --remoteCellSIBServers=host2.com:8888,host22.com:8889 --remoteCellID=Cell1/CoreGroup2
- 次のコマンドを実行して、Coregroup2 のアウトバウンド JMS/サービス統合バスを構成します。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheOutSIB --localCellID=Cell1/CoreGroup2 --remoteCellSIBServers=host1.com:7777,host11.com:7776 --remoteCellID=Cell1/CoreGroup1
- CoreGroup1 の外部キャッシュ・グループ/アダプターを構成します。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheECA --cluster=ProductionCluster1 --localCellID=Cell1/CoreGroup1 --remoteCellID=Cell1/CoreGroup2
- 次のコマンドを実行して、CoreGroup2 の外部キャッシュ・グループ/アダプターを構成します。
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheECA --cluster=ProductionCluster2 --localCellID=Cell1/CoreGroup2 --remoteCellID=Cell1/CoreGroup1