6.5 ライブラリ・プロパティの構成

JAX-RS、Node.jsおよびORDSアプリケーションのMicroTxライブラリ・プロパティの構成情報を指定します。値は参加側アプリケーションとイニシエータ・アプリケーションの両方に指定します。

任意のコード・エディタでtmm.propertiesファイルを開き、次のパラメータの値を入力してMicroTxライブラリを構成します。
  • oracle.tmm.TcsUrl: MicroTxアプリケーションにアクセスするためのURLを入力します。「MicroTxへのアクセス」を参照してください。この値はトランザクション・イニシエータ・アプリケーションの場合に入力する必要があります。トランザクション参加側アプリケーションの場合、この値を指定する必要はありません。

  • oracle.tmm.TcsConnPoolSize: MicroTxライブラリへの接続数をMicroTxに入力します。デフォルト(最小)の接続数は10です。最大値は20です。この値は、サービスが実行する問合せ数に応じて変更できます。この値はイニシエータ・アプリケーションと参加側アプリケーションの両方に指定します。

  • oracle.tmm.CallbackUrl: 参加側サービスのURLを入力します。MicroTxは、指定されたURLを使用して参加側サービスに接続します。この値を次の形式で指定します。
    https://externalHostnameOfApp:externalPortOfApp/
    説明
    • externalHostnameOfApp: イニシエータ・サービスまたは参加側サービスの外部ホスト名。たとえば、bookTicket-appです。
    • externalPortOfApp: 参加側サービスにリモートでアクセスできるポート番号。たとえば、8081です。
    トランザクション参加側アプリケーションには、この値を指定する必要があります。トランザクション・イニシエータ・アプリケーションでは、この値を指定する必要はありません。
  • oracle.tmm.TransactionTimeout: トランザクションをアクティブにしておく最長期間(ミリ秒)を指定します。トランザクションのコミットまたはロールバックが指定した期間内に行われないと、トランザクションはロールバックされます。デフォルト(最小)値は60000です。この値はイニシエータ・アプリケーションと参加側アプリケーションの両方に指定します。

  • oracle.tmm.PropagateTraceHeaders: トランザクションを全面的にトレースする場合は、これをtrueに設定します。これにより、すべての受信リクエストおよび送信リクエストのトレース・ヘッダーが伝播されます。Helidonベースのマイクロサービスの場合、Helidonフレームワークがデフォルトでトレース・ヘッダーを伝播するため、トレース・ヘッダーを2回伝播しないように、このプロパティをfalseに設定します。このプロパティをtrueに設定できるのは、Helidon構成でトレース・ヘッダーの伝播が無効になっているときに、MicroTxを使用して分散トレースを有効にする場合です。その他のマイクロサービスの場合は、このプロパティをtrueに設定します。

  • oracle.tmm.xa.Rmid: XAトランザクションで使用するリソース・マネージャごとに一意の文字列値を指定します。この値は、データ・ストアのプロパティとは関係ありません。RMIDとして指定する一意の値は、MicroTxがリソース・マネージャを識別するために使用されます。複数の参加側が同じリソース・マネージャを使用する場合、リソース・マネージャを共有する参加側に対して同じリソース・マネージャIDを指定します。この値を指定することは必須です。
  • oracle.tmm.xa.XaSupport: XA準拠リソースを使用する場合は、これをtrueに設定します。これをfalseに設定するのは、非XAリソースを使用する単一のトランザクション参加側サービスに対してのみです。デフォルト値はtrueです。oracle.tmm.xa.XaSupporttrueに設定されると、oracle.tmm.xa.LLRSupportおよびoracle.tmm.xa.LRCSupportに設定された値は無視されます。
  • oracle.tmm.xa.LLRSupport: ロギング・ラスト・リソース(LLR)の最適化を有効にするには、これをtrueに設定します。この値は、非XAリソースをリソース・マネージャとして使用するトランザクション参加側サービスについてのみ設定します。デフォルト値はfalseです。oracle.tmm.xa.LLRSupporttrueに設定されると、oracle.tmm.xa.LRCSupportに設定された値は無視されます。

    このプロパティ値をtrueに設定した場合にのみ、oracle.tmm.LlrDeleteCommitRecordIntervalプロパティの値も指定できます。コミットされたレコードを保持する最長期間(ミリ秒)を指定します。デフォルト値は7,200,000ミリ秒または2時間です。ローカル・コミットを実行する前に、トランザクション・コーディネータはLLRブランチにコミット・レコードを作成します。コミット・レコードは、oracle.tmm.LlrDeleteCommitRecordIntervalプロパティで指定された期間の後に削除されます。この値は、非XAリソースをリソース・マネージャとして使用するサービスについてのみ指定します。

  • oracle.tmm.xa.LRCSupport: ラスト・リソース・コミット(LRC)の最適化を有効にするには、これをtrueに設定します。この値は、非XAリソースをリソース・マネージャとして使用するトランザクション参加側サービスについてのみ設定します。デフォルト値はfalseです。
  • oracle.tmm.promotable: トランザクション・プロモーション機能を有効にするには、これをtrueに設定します。この値は、トランザクションにも参加するトランザクション・イニシエータ・サービスに対してのみ指定します。

    デフォルト値はfalseです。oracle.tmm.promotableの値をfalseに設定すると、すべてのトランザクションがデフォルトでグローバル・トランザクションとして開始され、GTRIDに関連付けられます。ローカル・トランザクションは開始されません。「グローバルおよびローカル・トランザクションについて」を参照してください。

  • oracle.tmm.xa.isRACまたはoracle.tmm.xa.RACSupport: これをtrueに設定するのは、Oracle Real Application Clusters (RAC)データベースをリソース・マネージャとして使用するトランザクション参加側サービスに対してのみです。デフォルト値はfalseです。Node.jsアプリケーションではこのプロパティ値を指定し、oracle.tmm.xa.RACSupportプロパティの値を指定します。JAX-RSアプリケーションの場合は、oracle.tmm.xa.isRACプロパティの値を指定します。
たとえば、
oracle.tmm.TcsUrl = http://tmm-app:9000/api/v1
oracle.tmm.TcsConnPoolSize = 15
oracle.tmm.CallbackUrl = https://bookTicket-app:8081
oracle.tmm.PropagateTraceHeaders = true
oracle.tmm.TransactionTimeout = 60000
oracle.tmm.xa.XaSupport = true
oracle.tmm.xa.LLRSupport = false
oracle.tmm.xa.LRCSupport = false
oracle.tmm.xa.Rmid = ORCL1
oracle.tmm.promotable = true
oracle.tmm.xa.isRAC = false

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

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

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

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
export ORACLE_TMM_TCS_CONN_POOL_SIZE = 15
export ORACLE_TMM_TRANSACTION_TIMEOUT = 60000
export ORACLE_TMM_XA_XASUPPORT = true
export ORACLE_TMM_XA_LLRSUPPORT = false
export ORACLE_TMM_XA_LRC_SUPPORT = false
export ORACLE_TMM_XA_RMID = ORCL1
export ORACLE_TMM_XA_PROMOTABLE = true
export ORACLE_TMM_XA_ISRAC= false

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