Tuxedo の相互運用性ソリューション

     前  次    目次     
ここから内容

Tuxedo 転送のトランザクション処理

Oracle Service Bus と Tuxedo を相互運用して、各製品に用意されているサービスを使用できます。多くの場合、サービスにはトランザクション処理が含まれます。Tuxedo 転送は、Oracle Service Bus でのトランザクションを活用、または開始します。

注意 : このトランザクション サポートの例外は、着信転送がトランザクション対応のメッセージのある Tuxedo で、発信が要求および応答 XA/JMS の場合です。この場合、Oracle Service Bus は例外を検出し、結果は TPESYSTEM エラーになります。

Tuxedo 転送のトランザクション動作は、メッセージ コンテキスト レベルで使用できるサービスの品質 (QoS) 設定に基づきます。詳細については、『Oracle Service Bus ユーザーズ ガイド』の「Oracle Service Bus でのメッセージ フローの作成」にある「サービスの品質」を参照してください。

以下の節では、Tuxedo 転送でのトランザクションの処理方法について説明します。

 


着信サービス

トランザクション コンテキストを受信すると、パイプラインに送信されるメッセージによって、QoS が [必ず 1 回] に設定されるか、そうでない場合は、QoS は [ベスト エフォート] に設定されます。

応答がクライアントに返される前に TransportException が捕捉された場合、TPESYSTEM 例外を送出して要求が中断され、トランザクションは結果をロールバックします。

 


発信サービス

ビジネス サービスを呼び出すスレッドにトランザクション コンテキストがある場合、Tuxedo 転送は以下のように動作します。

ビジネス サービスを呼び出すスレッドに、関連付けられているトランザクションがない場合、QoS 設定に関係なく、Tuxedo 呼び出しは非トランザクションとして行われます。この場合、TPNOTRAN フラグが設定された tpcall() または tpacall() に相当します。


  ページの先頭       前  次