17.6. WebSphere MQ リソースアダプターのデプロイ
WebSphere MQ は、分散型システム上のアプリケーションの相互通信を可能にする、IBM の Messaging Oriented Middleware (MOM) ソフトウェアです。この機能は、メッセージとメッセージキューを使用することによって実現します。WebSphere MQ はメッセージキューへのメッセージ配信と、メッセージチャネルを使用したその他のキューマネージャーへのデータ転送を行います。WebSphere MQ に関する詳しい情報は、WebSphere MQ を参照してください。
本トピックでは、JBoss Enterprise Application Platform 6 における WebSphere MQ Resource Adapter のデプロイと設定の手順について説明します。この作業は、設定ファイルを手動で編集する方法もしくは Management CLI ツールや Web ベースの管理コンソールを使用する方法で行うことができます。
作業を開始する前に、WebSphere MQ リソースアダプターのバージョンを確認して、一部の WebSphere MQ 設定プロパティについて理解しておく必要があります。
- WebSphere MQ リソースアダプターは、
wmq.jmsra-VERSION.rar
と呼ばれる Resource Archive (RAR) ファイルとして提供されます。7.0.1.7
以降のバージョンを使用する必要があります。 - 以下の WebSphere MQ 設定プロパティの値を知っておく必要があります。これらのプロパティに関する詳細は、WebSphere MQ 製品ドキュメントを参照してください。
- MQ.QUEUE.MANAGER: WebSphere MQ キューマネージャーの名前
- MQ.HOST.NAME: WebSphere MQ キューマネージャーへの接続に使用するホストの名前
- MQ.CHANNEL.NAME: WebSphere MQ キューマネージャーへの接続に使用するサーバーチャネル
- MQ.QUEUE.NAME: デスティネーションキューの名前
- MQ.PORT: WebSphere MQ キューマネージャーへの接続に使用するポート
- MQ.CLIENT: トランスポートタイプ
- 送信接続には、以下の設定プロパティに精通している必要があります:
- MQ.CONNECTIONFACTORY.NAME: リモートシステムへの接続を提供する接続ファクトリの名前
手順17.4 リソースアダプターの手動でのデプロイ
wmq.jmsra-VERSION.rar
ファイルをEAP_HOME/standalone/deployments/
ディレクトリにコピーします。- サーバー設定ファイルにリソースアダプターを追加します。
- エディターで
EAP_HOME/standalone/configuration/standalone-full.xml
ファイルを開きます。 - 設定ファイルで
urn:jboss:domain:resource-adapters
サブシステムを探します。 - このサブシステムに対してリソースアダプターが定義されていない場合には、最初に
<subsystem xmlns="urn:jboss:domain:resource-adapters:1.0"/>
の箇所を次のように置き換えます:<subsystem xmlns="urn:jboss:domain:resource-adapters:1.0"> <resource-adapters> <!-- <resource-adapter> configuration listed below --> </resource-adapters> </subsystem>
<!-- <resource-adapter> configuration listed below -->
を次のように置き換えてください:<subsystem xmlns="urn:jboss:domain:resource-adapters:1.0"> <resource-adapters> <resource-adapter> <archive> wmq.jmsra-VERSION.rar </archive> <transaction-support>XATransaction</transaction-support> <connection-definitions> <connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" jndi-name="java:jboss/MQ.CONNECTIONFACTORY.NAME" enabled="true" pool-name="MQ.CONNECTIONFACTORY.NAME"> <config-property name="channel"> MQ.CHANNEL.NAME </config-property> <config-property name="transportType"> MQ.CLIENT </config-property> <config-property name="queueManager"> MQ.QUEUE.MANAGER </config-property> </connection-definition> </connection-definitions> <admin-objects> <admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:jboss/MQ.QUEUE.NAME" pool-name="MQ.QUEUE.NAME"> <config-property name="baseQueueName"> MQ.QUEUE.NAME </config-property> </admin-object> </admin-objects> </resource-adapter> </resource-adapters> </subsystem>
VERSION は必ず、RAR の名前に付いている実際のバージョンに置き換えてください。- JBoss Enterprise Application Platform 6 で EJB3 メッセージングシステムのデフォルトプロバイダーを HornetQ から WebSphere MQ に変更するには、
urn:jboss:domain:ejb3:1.2
サブシステムを以下のように変更します:<mdb> <resource-adapter-ref resource-adapter-name="hornetq-ra"/> <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/> </mdb>
の箇所を次のように置き換えます:<mdb> <resource-adapter-ref resource-adapter-name="wmq.jmsra-VERSION.rar"/> <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/> </mdb>
VERSION は必ず、RAR の名前に付いている実際のバージョンに置き換えてください。
手順17.5 リソースアダプターを使用するように MDB コードを変更します。
- MDB コードで ActivationConfigProperty および ResourceAdapter を次のように設定します:
@MessageDriven( name="WebSphereMQMDB". activationConfig = { @ActivationConfigProperty(propertyName = "destinationType",propertyValue = "javax.jms.Queue"), @ActivationConfigProperty(propertyName = "useJNDI", propertyValue = "false"), @ActivationConfigProperty(propertyName = "hostName", propertyValue = "MQ.HOST.NAME"), @ActivationConfigProperty(propertyName = "port", propertyValue = "MQ.PORT"), @ActivationConfigProperty(propertyName = "channel", propertyValue = "MQ.CHANNEL.NAME"), @ActivationConfigProperty(propertyName = "queueManager", propertyValue = "MQ.QUEUE.MANAGER"), @ActivationConfigProperty(propertyName = "destination", propertyValue = "MQ.QUEUE.NAME"), @ActivationConfigProperty(propertyName = "transportType", propertyValue = "MQ.CLIENT") }) @ResourceAdapter(value = "wmq.jmsra-VERSION.rar") @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) public class WebSphereMQMDB implements MessageListener { }
VERSION は必ず、RAR の名前に付いている実際のバージョンに置き換えてください。