プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server JMSリソース・アダプタの管理
12c (12.2.1.1.0)
E79372-01
目次へ移動
目次

前
次

JMSリソース・アダプタのトランザクション・サポート

サード・パーティ・アプリケーション・サーバーにおいては、JMSの2つの主要なユースケースがあります。ユース・ケースの1つに、ユーザーがJMSプロバイダと同期して対話するアウトバウンド通信が含まれます。その他のユースケースには、ユーザーがJMSプロバイダと非同期に対話するインバウンド通信(たとえば、メッセージドリブンBean (MDB)を介した)が含まれます。

アウトバウンド通信のトランザクション・サポート

JMSリソース・アダプタは、Java Connector Architecture仕様に従って、WebLogic JMSを使用したアプリケーションに対するアウトバウンドXA機能を提供します。JMSリソース・アダプタの管理対象接続は、WebLogic JMSクライアント接続および、WebLogic Serverクラスタ・メンバーを指すセッションを保持します。管理対象接続は、同じWebLogic Serverクラスタ・メンバーを指す介在トランザクション・マネージャ(ITM)スタブも参照します。WebLogic ITMは、別のWebLogic Serverインスタンスで発生するJMS操作を処理できますが、JMS操作およびITMを同じインスタンスの同じクラスタ・メンバーに配置するほうがより効率的です(ITMアフィニティ)。

JMSリソース・アダプタの管理対象接続がグローバル・トランザクションに含まれている場合、次に注意してください。

  • Oracle GlassFishサーバー・インスタンスは、管理対象接続上でgetXAResourceメソッドを呼び出して、その操作をグローバル・トランザクションに登録します(リソース・アダプタとアプリケーション・サーバー間のJava Connector Architectureトランザクション規約による)。

  • クラスタ全体のリカバリが有効な場合、ITYMは任意のXAコールを透過的に処理して、ITMアフィニティを維持するために適切なクラスタ・メンバー・インスタンスに転送します。

    詳細は、配布されたトランザクションのクラスタ全体のトランザクション・リカバリを、クラスタのすべてのITMにわたって構成できます。Oracle WebLogic Server JTAアプリケーションの開発のクラスタ全体のリカバリを参照してください。

  • 管理対象接続は対応するITMを指すXAResourceラッパーを戻します。

  • このラッパーによって、ITMのXAResourceラッパーにXAのコールが引き継がれます。

インバウンド・トランザクションのトランザクション・サポート

インバウンドのユースケースでは、リソース・アダプタのインバウンド通信規約またはネイティブMDBコードのいずれかを実装することによって、メッセージが受信されます。次の点に注意してください。

  • リソース・アダプタの規約が使用される場合、リソース・アダプタはMDB宛先(WebLogic Server宛先)からメッセージを受信し、それらをMDBに配布します。多くの場合、リソース・アダプタは、メッセージを同時に受信するために、複数のワーカー・スレッドを生成します。各スレッドは、個別のエンドポイントと個別のWebLogic JMSセッションを使用します。メッセージ受信の操作をグローバル・トランザクションに登録する外部アプリケーション・サーバーの場合、JMSリソース・アダプタは、XAResourceラッパーを渡すMessageEndpointFactory createEndpoint(XAResource)メソッドを使用して、エンドポイントを作成します。このラッパーには、メッセージを受信しているWebLogic JMSセッションと同じWebLogic Serverインスタンスを指すITMスタブが含まれています。WebLogic宛先が分散宛先の場合、ワーカー・スレッドは宛先メンバー全体に均等に分散されます。

  • ネイティブMBDが使用されている場合、アプリケーション・サーバーがメッセージを受信します。JMSリソース・アダプタを使用する場合の使用シナリオはアウトバウンドの使用の場合と同じです。トランザクション管理についても同じです。