入力ノードへのメッセージの提供または出力ノードからのメッセージの受信を行う JMS 宛先は、メッセージ・フローの XA 整合トランザクションの一部として同期点調整できます。
同期点コーディネーターが関連するトランザクション
この図で、メッセージは JMSInput ノードによりキューからコンシュームされ、JMSOutput ノードにより JMS キューに生成されます。 ノードは JMS プロバイダーに接続され、同じセッションに入れられます。 任意のメッセージ・フロー入力ノードは外部同期点コーディネーターに、メッセージ・フロー・トランザクションがいつ開始および終了するか、そしてフローが影響を及ぼしたリソースをコミットするか、またはロールバックするかを知らせることができます。
同期点コーディネーターは、XA/Open 準拠要求を、 参加するすべてのリソース・マネージャーに送り、準備するようにと伝えます。 変更があればコミットまたはロールバックされます。 WebSphere® MQ、DB2®、および XA 準拠の JMS プロバイダーなどのリソース・マネージャーは、XA 整合トランザクションに参加できます。
外部同期点コーディネーターは、z/OS® 以外のオペレーティング・システム上の WebSphere MQ、 および z/OS 上の RRS (リソース・リカバリー・サービス) です。
z/OS では、サポートされている唯一の JMS プロバイダーは IBM® WebSphere MQ Java™ Client であり、このクライアント用にサポートされている唯一のトランスポート・モードは BIND モードです。
JMS ノードや SOAP ノードなど、JMS トランスポートを使用するノードが XA 整合トランザクションに参加できるのは、ノードの接続先の JMS プロバイダーが JMS XAResource クラスを介した XA/Open インターフェースをサポートしている場合だけです。 JMS プロバイダーの例としては、WebSphere MQ Java Client があります。
XA 整合トランザクションのリカバリー用に汎用接続ファクトリー (recoverXAQCF) を指定できます。
未確定トランザクション
未確定トランザクションは、リソースのコミットまたはロールバックを 要求する同期点マネージャーからの呼び出しに、リソース・マネージャーが応答しない場合に生じます。 ブローカーの WebSphere MQ キュー・マネージャーが始動する際に、初期リカバリー・ステップが実施されて、ブローカー・メッセージ・フローが新規入力の処理を開始する前に 未確定トランザクションが必ず解決されるようにします。 ブローカー・グローバル・トランザクションに参加する JMS プロバイダーは、このリカバリー・ステップに含まれます。
z/OS 以外のオペレーティング・システムの場合、WebSphere MQ ではデプロイメントの前に管理タスクを実行する必要があります。 このタスクは、共用ライブラリーをスイッチ・ファイルに参照させて、ブローカー・コンポーネント (共用ライブラリー) をキュー・マネージャーに登録します。
ブローカーの WebSphere MQ キュー・マネージャーが開始すると、これはスイッチ・ファイルをロードします。 スイッチ・ファイルは XA/Open トランザクション呼び出しを同期点コーディネーターから JMS プロバイダーに転送します。 これにより、トランザクションに参加する JMS リソースを、同じトランザクションに含まれる他のリソース・マネージャーと同期調整できます。
JMS トランスポートを使用するノードに対する XA 整合トランザクション・サポートを有効にするには、追加の構成が必要となります。XA 整合トランザクションをサポートするための JMS および SOAP ノードの構成を参照してください。