8.3.2 JavaアプリケーションのMicroTxライブラリ・プロパティの構成
MicroTxライブラリ・プロパティの構成情報を指定します。トランザクションに参加またはこれを開始し、MicroTxライブラリを使用するすべてのMicronautおよびSpring RESTベース・アプリケーションに対して、このステップを実行する必要があります。
MicronautまたはSpring RESTベースのアプリケーションのapplication.properties
ファイルで、次のプロパティを構成します。これにより、カスタム・ライブラリは、MicroTx Sagaコーディネータとの通信を確立し、Sagaトランザクションに参加して、調整されたトランザクションに関連するヘッダーを伝播できます。
-
Micronautアプリケーションの
microtx.lra.coordinator-url
またはSpring RESTベースのアプリケーションのspring.microtx.coordinator-url
: MicroTx SagaコーディネータにアクセスするためのURLを入力します。これにより、MicroTxライブラリは、コーディネータと通信してトランザクションを調整できます。URLを取得するには、MicroTxにアクセスするためのURLに/lra-coordinator
を追加します。たとえば、https://192.0.2.1:443/api/v1/lra-coordinator
です。MicroTxにアクセスするためのURLを識別する方法の詳細は、「MicroTxへのアクセス」を参照してください。この値はトランザクション・イニシエータ・アプリケーションの場合に入力する必要があります。トランザクション参加側アプリケーションの場合、この値を指定する必要はありません。 - Micronautアプリケーションの
microtx.lra.propagation-active
またはSpring RESTアプリケーションのspring.microtx.lra.propagation-active
: トランザクションを全面的にトレースする場合は、これをtrue
に設定します。これにより、すべての受信リクエストおよび送信リクエストのLRA以外のエンドポイントを介してSagaコンテキスト・ヘッダーが伝播されます。これにより、他のSaga参加側との適切な調整が保証されます。 -
Micronautアプリケーションの
microtx.lra.participant-url
またはSpring RESTアプリケーションのspring.microtx.lra.participant-url
: MicroTxクライアント・ライブラリに関連付けられた参加側サービスのURLを入力します。MicroTxは、指定されたURLを使用して参加側サービスに接続します。この値を次の形式で指定します。
説明https://externalHostnameOfApp:externalPortOfApp/
externalHostnameOfApp
: イニシエータ・サービスまたは参加側サービスの外部ホスト名。たとえば、bookTicket-app
です。externalPortOfApp
: イニシエータまたは参加側サービスにリモートでアクセスできるポート番号。たとえば、8081
です。
- Micronautアプリケーションの
microtx.lra.headers-propagation-prefix
またはSpring RESTアプリケーションのspring.microtx.lra.headers-propagation-prefix
: 受信リクエストからカスタム・ライブラリ内の送信リクエストにヘッダーで伝播する接頭辞のリストを指定します。たとえば、トレース・ヘッダー、認可ヘッダーおよびカスタムMicroTxヘッダーです。これにより、指定された接頭辞が伝播されたSagaトランザクションのコンテキストのヘッダーとして含まれるため、トランザクション中に必要な情報が保持されます。 - Micronautアプリケーションの
microtx.lra.lock-free-reservation-active
またはSpring-RESTベースのアプリケーションのspring.microtx.lra.lock-free-reservation-active
: MicroTxコーディネータがOracle Database 23aiで提供されているロックフリー予約機能を使用できるようにするには、これをtrue
に設定します。この値をtrue
に設定すると、MicroTxはロックフリー予約の相互作用を管理し、参加側とコーディネータ・コール間でLong-Running-Action-Sagaid
ヘッダーを注入および伝播します。アプリケーションでロックフリー予約を使用しない場合は、このプロパティの値を指定しないでください。 - Spring RESTアプリケーションの
spring.microtx.lra.retry-max-attempts
: アプリケーションがMicroTxコーディネータへのリクエストの送信を再試行する最大回数を指定します(失敗した場合)。たとえば、15です。デフォルト値は10です。 - Spring RESTアプリケーションの
spring.microtx.lra.retry-max-delay
: アプリケーションがMicroTxコーディネータへの同じリクエストの送信を再試行するまでの最大再試行間隔(ミリ秒) (失敗した場合)。たとえば、2000です。デフォルト値は、1000ミリ秒です。
Spring RESTベース・アプリケーションのサンプル・プロパティ値
spring.microtx.lra.coordinator-url=http://tmm-app:9000/api/v1/lra-coordinator
spring.microtx.lra.propagation-active=true
spring.microtx.lra.participant-url=http://bookTicket-app:8081
spring.microtx.lra.headers-propagation-prefix = {x-b3-, oracle-tmm-, authorization, refresh-}
spring.microtx.lra.retry-max-attempts=15
spring.microtx.lra.retry-max-delay=2000
Micronautアプリケーションのサンプル・プロパティ値
microtx.lra.coordinator-url=http://tmm-app:9000/api/v1/lra-coordinator
microtx.lra.propagation-active=true
microtx.lra.participant-url=http://bookTicket-app:8081
microtx.lra.headers-propagation-prefix = {x-b3-, oracle-tmm-, authorization, refresh-}
アプリケーションとMicroTxが同じKubernetesクラスタ内にある場合はHTTPプロトコルを使用し、それ以外の場合はHTTPSプロトコルを使用します。
親トピック: SagaでのJavaアプリケーションの開発