24.8. WebSphere MQ リソースアダプターのデプロイ
WebSphere MQ は、分散型システム上のアプリケーションの相互通信を可能にする、IBM の Messaging Oriented Middleware (MOM) ソフトウェアです。この機能は、メッセージとメッセージキューを使用することによって実現されます。WebSphere MQ はメッセージキューへのメッセージ配信と、メッセージチャネルを使用したその他のキューマネージャーへのデータ転送を行います。WebSphere MQ に関する詳しい情報は、WebSphere MQ を参照してください。
本トピックでは、JBoss EAP 6 における WebSphere MQ Resource Adapter のデプロイと設定の手順について説明します。この作業は、設定ファイルを手動で編集する方法もしくは Management CLI ツールや Web ベースの管理コンソールを使用する方法で行うことができます。
作業を開始する前に、WebSphere MQ リソースアダプターのバージョンを確認して、一部の WebSphere MQ 設定プロパティーについて理解しておく必要があります。
- WebSphere MQ リソースアダプターは、
wmq.jmsra-VERSION.rarと呼ばれる Resource Archive (RAR) ファイルとして提供されます。7.5.0.0およびそれ以降のバージョンを使用する必要があります。 - 以下の WebSphere MQ 設定プロパティーの値を知っておく必要があります。これらのプロパティーに関する詳細は、WebSphere MQ 製品ドキュメントを参照してください。
- MQ.QUEUE.MANAGER: WebSphere MQ キューマネージャーの名前
- MQ.HOST.NAME: WebSphere MQ キューマネージャーへの接続に使用するホストの名前
- MQ.CHANNEL.NAME: WebSphere MQ キューマネージャーへの接続に使用するサーバーチャネル
- MQ.QUEUE.NAME: 宛先キューの名前
- MQ.TOPIC.NAME: 宛先トピックの名前。
- MQ.PORT: WebSphere MQ キューマネージャーへの接続に使用するポート
- MQ.CLIENT: トランスポートタイプ
- 送信接続には、以下の設定プロパティーに精通している必要があります。
- :MQ.CONNECTIONFACTORY.NAME: リモートシステムへの接続を提供する接続ファクトリーインスタンスの名前
注記
手順24.8 リソースアダプターの手動でのデプロイ
- WebSphereMQ リソースアダプターにトランザクションサポートが必要な場合は、
wmq.jmsra-VERSION.rarアーカイブを再パッケージ化し、mqetclient.jarが含まれるようにします。これには次のコマンドを使用できます。[user@host ~]$
必ず VERSION を正しいバージョン番号に置き換えてください。jar -uf wmq.jmsra-VERSION.rar mqetclient.jar 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.1"/>
以下のように置き換えます。<subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"> <resource-adapters> <!-- <resource-adapter> configuration listed below --> </resource-adapters> </subsystem> - リソースアダプターの設定は、トランザクションサポートとリカバリーが必要であるかどうかによって異なります。トランザクションサポートが必要でない場合は以下の最初の設定手順を選択します。トランザクションサポートが必要な場合は 2 番目の設定手順を選択します。
- 非トランザクションデプロイメントの場合、
<!-- <resource-adapter> configuration listed below -->を以下に置き換えます。<resource-adapter> <archive> wmq.jmsra-VERSION.rar </archive> <transaction-support>NoTransaction</transaction-support> <connection-definitions> <connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" jndi-name="java:jboss/MQ.CONNECTIONFACTORY.NAME" pool-name="MQ.CONNECTIONFACTORY.NAME"> <config-property name="hostName"> MQ.HOST.NAME </config-property> <config-property name="port"> MQ.PORT </config-property> <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> <security> <security-domain>MySecurityDomain</security-domain> </security> </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> <config-property name="baseQueueManagerName"> MQ.QUEUE.MANAGER </config-property> <admin-object class-name="com.ibm.mq.connector.outbound.MQTopicProxy" jndi-name="java:jboss/MQ.TOPIC.NAME" pool-name="MQ.TOPIC.NAME"> <config-property name="baseTopicName"> MQ.TOPIC.NAME </config-property> <config-property name="brokerPubQueueManager"> MQ.QUEUE.MANAGER </config-property> </admin-object> </admin-object> </admin-objects> </resource-adapter>必ず VERSION を RAR 名の実際のバージョンに置き換えてください。 - トランザクションデプロイメントの場合、
<!-- <resource-adapter> configuration listed below -->を以下に置き換えます。<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" pool-name="MQ.CONNECTIONFACTORY.NAME"> <config-property name="hostName"> MQ.HOST.NAME </config-property> <config-property name="port"> MQ.PORT </config-property> <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> <security> <security-domain>MySecurityDomain</security-domain> </security> <recovery> <recover-credential> <user-name>USER_NAME</user-name> <password>PASSWORD</password> </recover-credential> </recovery> </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> <config-property name="baseQueueManagerName"> MQ.QUEUE.MANAGER </config-property> </admin-object> <admin-object class-name="com.ibm.mq.connector.outbound.MQTopicProxy" jndi-name="java:jboss/MQ.TOPIC.NAME" pool-name="MQ.TOPIC.NAME"> <config-property name="baseTopicName"> MQ.TOPIC.NAME </config-property> <config-property name="brokerPubQueueManager"> MQ.QUEUE.MANAGER </config-property> </admin-object> </admin-objects> </resource-adapter>必ず VERSION を RAR 名の実際のバージョンに置き換えてください。さらに、USER_NAME と PASSWORD も有効なユーザー名とパスワードに置き換える必要があります。注記
トランザクションをサポートするため、<transaction-support> 要素がXATransactionに設定されました。XA リカバリーをサポートするするため、<recovery> 要素が接続定義に追加されました。
- JBoss EAP 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 名の実際のバージョンに置き換えてください。
手順24.9 リソースアダプターを使用するように 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 名の実際のバージョンに置き換えてください。

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.