8.4.1 Node.jsアプリケーションのライブラリ・プロパティの構成

MicroTxライブラリ・プロパティの構成情報を指定します。このステップは、トランザクションに参加または開始するすべてのNode.jsアプリケーションに対して実行する必要があります。

任意のコード・エディタでtmm.propertiesファイルを開き、次のパラメータの値を入力してMicroTxライブラリを構成します。
  • oracle.tmm.TcsUrl: MicroTx SagaコーディネータにアクセスするためのURLを入力します。これにより、MicroTxライブラリは、コーディネータと通信してトランザクションを調整できます。URLを取得するには、MicroTxにアクセスするためのURLに/lra-coordinatorを追加します。たとえば、https://192.0.2.1:443/api/v1/lra-coordinatorです。MicroTxにアクセスするためのURLを識別する方法の詳細は、「MicroTxへのアクセス」を参照してください。この値はトランザクション・イニシエータ・アプリケーションの場合に入力する必要があります。トランザクション参加側アプリケーションの場合、この値を指定する必要はありません。

  • oracle.tmm.CallbackUrl: MicroTxクライアント・ライブラリに関連付けられた参加側サービスのURLを入力します。MicroTxは、指定されたURLを使用して参加側サービスに接続します。この値を次の形式で指定します。
    https://externalHostnameOfApp:externalPortOfApp/
    説明
    • externalHostnameOfApp: イニシエータ・サービスまたは参加側サービスの外部ホスト名。たとえば、bookTicket-appです。
    • externalPortOfApp: イニシエータまたは参加側サービスにリモートでアクセスできるポート番号。たとえば、8081です。
    トランザクション参加側アプリケーションには、この値を指定する必要があります。
  • oracle.tmm.PropagateTraceHeaders: トランザクションを全面的にトレースする場合は、これをtrueに設定します。これにより、すべての受信リクエストおよび送信リクエストのLRA以外のエンドポイントを介してSagaコンテキスト・ヘッダーが伝播されます。これにより、他のSaga参加側との適切な調整が保証されます。

たとえば、
oracle.tmm.TcsUrl = https://192.0.2.1:443/api/v1/lra-coordinator
oracle.tmm.CallbackUrl = https://bookTicket-app:8081
oracle.tmm.PropagateTraceHeaders = true

アプリケーションとMicroTxが同じKubernetesクラスタ内にある場合はHTTPプロトコルを使用し、それ以外の場合はHTTPSプロトコルを使用します。

これらの構成値を環境変数として指定することもできます。プロパティ・ファイルと環境変数の両方に値を指定した場合、環境変数に設定されている値がプロパティ・ファイルの値をオーバーライドすることに注意してください。

次の例は、環境変数を構成するためのサンプル値を示しています。

export ORACLE_TMM_TCS_URL = http://tmm-app:9000/api/v1
export ORACLE_TMM_CALLBACK_URL = http://bookTicket-app:8081
export ORACLE_TMM_PROPAGATE_TRACE_HEADERS = true

環境変数名では大/小文字が区別されることに注意してください。