![]() ![]() ![]() ![]() |
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()
に相当します。
![]() ![]() ![]() |