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.XaSupport
がtrue
に設定されると、oracle.tmm.xa.LLRSupport
およびoracle.tmm.xa.LRCSupport
に設定された値は無視されます。oracle.tmm.xa.LLRSupport
: ロギング・ラスト・リソース(LLR)の最適化を有効にするには、これをtrue
に設定します。この値は、非XAリソースをリソース・マネージャとして使用するトランザクション参加側サービスについてのみ設定します。デフォルト値はfalse
です。oracle.tmm.xa.LLRSupport
がtrue
に設定されると、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
環境変数名では大/小文字が区別されることに注意してください。
親トピック: XAでのアプリケーションの開発