20.9.2. JMS ブリッジの作成
JMS ブリッジはソースの JMS キューまたはトピックからメッセージを消費し、通常は異なるサーバーにあるターゲットの JMS キューまたはトピックへ送信します。JMS 1.1 に準拠する JMS サーバーの間でメッセージをブリッジするために使用できます。送信元および宛先の JMS リソースは、JNDI を使用してルックアップされ、JNDI ルックアップのクライアントクラスはモジュールでバンドルされる必要があります。モジュール名は JMS ブリッジ設定で宣言されます。
手順20.2 JMS ブリッジの作成
ソース JMS メッセージングサーバーでのブリッジの設定
サーバータイプに見合った手順を使用して、JMS ブリッジをソースサーバーに設定します。JBoss EAP 5.x サーバーに JMS ブリッジを設定する方法の例は、JBoss EAP 6『移行ガイド』のトピック「JMS ブリッジの作成」を参照してください。宛先 JBoss EAP 6 サーバー上のブリッジの設定
JBoss EAP 6.1 およびそれ以降のバージョンでは、JMS ブリッジを使用して JMS 1.1 に準拠するサーバーからメッセージをブリッジできます。ソースおよびターゲットの JMS リソースは JNDI を使用してルックアップされるため、ソースメッセージングプロバイダーの JNDI ルックアップクラスまたはメッセージブローカーは JBoss モジュールでバンドルされる必要があります。次の手順では、例として架空の「MyCustomMQ」メッセージブローカーが使用されています。- メッセージプロバイダーの JBoss モジュールを作成します。
- 新しいモジュール向けに
EAP_HOME/modules/system/layers/base/下にディレクトリー構造を作成します。main/サブディレクトリーには、クライアント JAR とmodule.xmlファイルを格納します。EAP_HOME/modules/system/layers/base/org/mycustommq/main/は MyCustomMQ メッセージングプロバイダー用に作成されたディレクトリー構造の例になります。 main/サブディレクトリー内に、メッセージングプロバイダーのモジュール定義が含まれるmodule.xmlファイルを作成します。MyCustomMQ メッセージプロバイダー用に作成されたmodule.xmlの例は次のとおりです。<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.1" name="org.mycustommq"> <properties> <property name="jboss.api" value="private"/> </properties> <resources> <!-- Insert resources required to connect to the source or target --> <resource-root path="mycustommq-1.2.3.jar" /> <resource-root path="mylogapi-0.0.1.jar" /> </resources> <dependencies> <!-- Add the dependencies required by JMS Bridge code --> <module name="javax.api" /> <module name="javax.jms.api" /> <module name="javax.transaction.api"/> <!-- Add a dependency on the org.hornetq module since we send --> <!-- messages tothe HornetQ server embedded in the local EAP instance --> <module name="org.hornetq" /> </dependencies> </module>- ソースリソースの JNDI ルックアップに必要なメッセージングプロバイダー JAR をモジュールの
main/サブディレクトリーへコピーします。MyCustomMQ モジュールのディレクトリー構造は次のようになるはずです。modules/ `-- system `-- layers `-- base `-- org `-- mycustommq `-- main |-- mycustommq-1.2.3.jar |-- mylogapi-0.0.1.jar |-- module.xml
- JBoss EAP 6 サーバーの
messagingサブシステムに JMS ブリッジを設定します。- 設定を行う前に、サーバーを停止し、現在のサーバー設定ファイルをバックアップしてください。スタンドアロンサーバーを実行している場合は、
EAP_HOME/standalone/configuration/standalone-full-ha.xmlファイルをバックアップします。管理対象ドメインを実行している場合は、EAP_HOME/domain/configuration/domain.xmlファイルおよびEAP_HOME/domain/configuration/host.xmlファイルを両方バックアップします。 jms-bridge要素を、サーバー設定ファイルのmessagingサブシステムへ追加します。sourceおよびtarget要素は、JNDI ルックアップに使用される JMS リソースの名前を提供します。userおよびpasswordクレデンシャルが指定されいると、JMS 接続の作成時に引数として渡されます。MyCustomMQ メッセージングプロバイダー用に設定されたjms-bridge要素の例は次のとおりです。<subsystem xmlns="urn:jboss:domain:messaging:1.3"> ... <jms-bridge name="myBridge" module="org.mycustommq"> <source> <connection-factory name="ConnectionFactory"/> <destination name="sourceQ"/> <user>user1</user> <password>pwd1</password> <context> <property key="java.naming.factory.initial" value="org.mycustommq.jndi.MyCustomMQInitialContextFactory"/> <property key="java.naming.provider.url" value="tcp://127.0.0.1:9292"/> </context> </source> <target> <connection-factory name="java:/ConnectionFactory"/> <destination name="/jms/targetQ"/> </target> <quality-of-service>DUPLICATES_OK</quality-of-service> <failure-retry-interval>500</failure-retry-interval> <max-retries>1</max-retries> <max-batch-size>500</max-batch-size> <max-batch-time>500</max-batch-time> <add-messageID-in-header>true</add-messageID-in-header> </jms-bridge> </subsystem>上記の例では、JNDI プロパティーはsourceのcontext要素に定義されています。上記のtargetの例のように、context要素が省略されると、JMS リソースはローカルインスタンスでルックアップされます。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.