12.14. jms-jca-provider を使用した IBM Websphere MQ の設定


手順12.5 タスク

  1. アダプターの設定

    アダプター名は wmq.jmsra.rar です。このファイルを JBoss Enterprise SOA Platform の SOA_ROOT/jboss-as/server/PROFILE/deploy ディレクトリーにコピーします。
  2. コンテキストファクトリーの確認

    初期コンテキストファクトリーが com.ibm.mq.jms.context.WMQInitialContextFactory であることを確認します。
  3. QueueManager の設定

    queueManager 設定が <activation-config> にあることを確認します。独自の Websphere MQ インストールでキューマネージャーを設定する必要があります。(すべての宛先キューがキューマネージャーで設定されていることに注意してください。)
  4. チャネルの設定

    チャネル設定が <activation-config> プロパティーにあることを確認します。
    注記
    キューマネージャーは、さまざまな種類のチャネルを使用するように設定できます。クライアントはサーバー接続チャネルを介して接続します。Websphere MQ インストールの一部として、デフォルトのサーバー接続チャネル(SYSTEM.DEF.SVRCONN)が追加されますが、特に拡張(XA)トランザクションを使用している場合は、専用のチャンネルを作成することが推奨されます。
  5. transportType の設定

    transportType を編集します。この設定は、<activation-config> プロパティーにあります。WebSphere MQ は、2 つのトランスポートタイプ(クライアントとバインディング)をサポートします。
  6. 設定の編集

    テキストエディターで設定ファイルを開き、編集します。
    以下は、<jms-jca-provider> 設定の例です。ゲートウェイプロバイダーの設定方法を示します。
    <jms-jca-provider adapter="wmq.jmsra.rar" connection-factory="MyAppXAConnectionFactory" jndi-context-factory="com.ibm.mq.jms.context.WMQInitialContextFactory" name="WMQ-JCA">
    	<property name="max-xa-sessions-per-connection" value="1"/>
    		<jms-bus busid="quickstartGwChannel">
    		<jms-message-filter dest-name="QUEUE1_JMS" dest-type="QUEUE" transacted="true"/>
    		</jms-bus>
    			<activation-config>
    				<property name="queueManager" value="TQM"/>
    				<property name="channel" value="Q1CONN"/>
    				<property name="hostName" value="localhost"/>
    				<property name="port" value="1414"/>
    				<property name="transportType" value="CLIENT"/>
    			</activation-config>
    </jms-jca-provider>
    
    注記
    これは実際には、リスナーのゲートウェイ/メッセージ対応特性を決定する <jms-listener> 設定です。ただし、Websphere MQ は、ゲートウェイリスナープロバイダーとしてのみ使用されます。つまり、この設定は Websphere MQ のメッセージ対応リスナーとしては機能しません。これは、プロバイダーに定義された宛先(バス)へのルーティングメッセージに対して、適切な JNDI プロバイダー URL (ServiceInvoker によって使用される)を指定していないためです。
  7. JCA アダプターの設定

    <activation-config> は JCA アダプターを設定し、宛先からメッセージを取得するようにします。メッセージを宛先に配信する方法を決定しません。以下は、メッセージ対応リスナーのプロバイダーとして使用できる設定の例です。
    <jms-jca-provider adapter="wmq.jmsra.rar" connection-factory="MyAppXAConnectionFactory" jndi-URL="localhost:1414/CHANX" jndi-context-factory="com.ibm.mq.jms.context.WMQInitialContextFactory" name="WMQ-JCA">
    	<property name="max-xa-sessions-per-connection" value="1"/>
    		<jms-bus busid="quickstartEsbChannel">
    			<jms-message-filter dest-name="QUEUE2_JMS" dest-type="QUEUE" transacted="true"/>
    		</jms-bus>
    	<activation-config>
    		<property name="queueManager" value="TQM"/>
    		<property name="channel" value="Q2CONN"/>
    		<property name="hostName" value="localhost"/>
    		<property name="port" value="1414"/>
    		<property name="transportType" value="CLIENT"/>
    	</activation-config>
    </jms-jca-provider>
    
  8. 標準の JMS プロバイダーの作成

    標準の JMS プロバイダー設定の作成設定は以下のようになります。
    <jms-provider connection-factory="MyAppConnectionFactory" jndi-URL="localhost:1414/CHAN1" jndi-context-factory="com.ibm.mq.jms.context.WMQInitialContextFactory" name="JMS">
    	<jms-bus busid="quickstartGwChannel2">
    		<jms-message-filter dest-name="QUEUE3_JMS" dest-type="QUEUE"/>
    	</jms-bus>
    </jms-provider>
    
    注記
    標準プロバイダーでは、アダプターも <activation-config> 設定もありません。標準プロバイダーで定義された宛先からメッセージを受信するリスナーは、JCA Adapter Inflow を使用してメッセージを取得しません。代わりに、JNDI を使用して宛先を検索し、メッセージを取得する必要があります。つまり、Websphere MQ では、jndi-URL を常に指定する必要があります(JCA の場合は Message-Aware リスナーを提供する宛先にのみ必要であることに注意してください)。
  9. 保存

    ファイルを保存して終了します。
警告
Websphere MQ 6.0 を実行している場合は、この例外が発生する可能性があります。
Message: Unable to get a MQ series Queue Manager or Queue Connection. Reason: failed to create connection javax.jms. JMSSecurityException: MQJMS2013: invalid security authentication supplied for MQQueueManager
これはパーミッションの問題が原因で発生します。この問題を修正するには、JBoss Enterprise Service Bus を実行するユーザーを mqm グループに追加します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る