8.4 TCCでのJavaアプリケーションの開発
MicroTxライブラリは、JAX-RSフィルタを使用して受信HTTPコールをインターセプトしてから、新しいTCCトランザクションを開始するか、既存のトランザクションに参加します。
次の注釈を使用して、アプリケーション・コードにTCC機能を追加し、参加側サービスを登録します。
@TCC(timeLimit = 120, timeUnit = ChronoUnit.SECONDS)
これを使用して、MicroTxが新しいTCCトランザクションを開始または既存のトランザクションに参加するためにコールするアプリケーション固有のRESTリソースに注釈を付けます。
注釈をクラスに追加すると、JAX-RSフィルタがその注釈を探して、TCCトランザクションに参加するクラスを識別します。リクエスト・ヘッダーにlink
の値が含まれていない場合、MicroTxライブラリは、リクエスト・ヘッダーにlink
の値と一意のトランザクションIDを作成します。一意のトランザクションIDを使用して、トランザクションの識別、トレースまたはデバッグを行うことができます。
リクエスト・ヘッダーにlink
の値が含まれている場合、アプリケーションは既存のTCCトランザクションに参加します。トランザクションに参加するすべてのアプリケーションが、一意のTCCトランザクションIDを共有します。リクエスト・ヘッダーのlink
の値の例を次に示します:
link=[<http://tmm-app:9000/api/v1/tcc-transaction/7ff...>; rel="https://otmm.oracle.com/tcc-transaction/internal",<http://tmm-app:9000/api/v1/tcc-transaction/7ff...>; rel="https://otmm.oracle.com/tcc-transaction/external"]
ここで、7ff...
が一意のトランザクションIDです。値の例は、読みやすくするために...
を使用して一部を省いています。ご使用の環境でヘッダーを確認すると、値全体が表示されます。
8.4.1 トランザクション・イニシエータとしてのJavaアプリケーションの構成
開始する前に、MicroTxライブラリのプロパティ値を構成していることを確認してください。
親トピック: TCCでのJavaアプリケーションの開発
8.4.2 トランザクション参加側としてのJavaアプリケーションの構成
開始する前に、MicroTxライブラリのプロパティ値を構成していることを確認してください。
親トピック: TCCでのJavaアプリケーションの開発