17.6. WebSphere MQ リソースアダプターのデプロイ

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 リソースアダプターの手動でのデプロイ

  1. wmq.jmsra-VERSION.rar ファイルを EAP_HOME/standalone/deployments/ ディレクトリにコピーします。
  2. サーバー設定ファイルにリソースアダプターを追加します。
    1. エディターで EAP_HOME/standalone/configuration/standalone-full.xml ファイルを開きます。
    2. 設定ファイルで urn:jboss:domain:resource-adapters サブシステムを探します。
    3. このサブシステムに対してリソースアダプターが定義されていない場合には、最初に
      
      <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>
      
      
      
    4. <!-- <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 の名前に付いている実際のバージョンに置き換えてください。
    5. 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 の名前に付いている実際のバージョンに置き換えてください。