JMSInput ノードへのメッセージを提供する、または JMSOutput ノードからのメッセージを受信する JMS 宛先は、メッセージ・フロー・グローバル・トランザクションの一部として同期点調整されたものとすることができます。
同期点コーディネーターが関連するトランザクション
この図で、メッセージは JMSInput ノードによりトピックからコンシュームされ、JMSOutput ノードにより JMS キューに生成されます。 ノードは JMS プロバイダーに接続され、同じセッションに入れられます。任意のメッセージ・フロー入力ノードは外部同期点コーディネーターに、メッセージ・フロー・トランザクションがいつ開始および終了するか、そしてフローが影響を及ぼしたリソースをコミットするか、またはロールバックするかを知らせることができます。
同期点コーディネーターは、XA/Open 準拠要求を、 参加するすべてのリソース・マネージャーに送り、準備するようにと伝えます。変更があればコミットまたはロールバックされます。WebSphere® MQ、DB2®、および XA 準拠の JMS プロバイダーなどのリソース・マネージャーは、 グローバル・トランザクションに参加できます。
外部同期点コーディネーターは、z/OS® 以外のオペレーティング・システム上の WebSphere MQ、 および z/OS 上の RRS (リソース・リカバリー・サービス) です。
JMSInput ノードおよび JMSOutput ノードがグローバル・トランザクションに参加できるのは、接続先となる 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 リソースを、同じトランザクションに含まれる他のリソース・マネージャーと同期調整できます。
JMSInput ノードおよび JMSOutput ノードのグローバル・トランザクション・サポートを使用可能にするには、追加の構成が必要になります。グローバル・トランザクションをサポートするための JMSInput および JMSOutput ノードの構成を参照してください。