7.10.1 Spring Bootアプリケーションのライブラリ・プロパティの構成
すべてのSpring BootアプリケーションのMicroTxライブラリ・プロパティの構成情報を指定します。指定する必要があるプロパティ値は、アプリケーションが参加側であるかイニシエータであるかに応じて異なります。
application.yamlファイルでMicroTxライブラリのプロパティ値を指定します。
                  
- 
                        spring.microtx.coordinator-url: MicroTxコーディネータにアクセスするためのURLを入力します。「MicroTxへのアクセス」を参照してください。この値はトランザクション・イニシエータ・アプリケーションの場合に入力する必要があります。トランザクション参加側アプリケーションの場合、この値を指定する必要はありません。
- 
                        spring.microtx.participant-url: 参加側サービスのURLを入力します。MicroTxは、指定されたURLを使用して参加側サービスに接続します。この値を次の形式で指定します。https://externalHostnameOfApp:externalPortOfApp/
 説明https://externalHostnameOfApp:externalPortOfApp/- externalHostnameOfApp: イニシエータ・サービスまたは参加側サービスの外部ホスト名。たとえば、- bookTicket-appです。
- externalPortOfApp: イニシエータまたは参加側サービスにリモートでアクセスできるポート番号。たとえば、- 8081です。
 たとえば、 https://bookTicket-app:8081です。
- 
                        spring.microtx.propagation-active: トランザクションを全面的にトレースする場合は、これをtrueに設定します。これにより、すべての受信リクエストおよび送信リクエストのトレース・ヘッダーが伝播されます。
- 
                        spring.microtx.http-client-connection-pool-size: MicroTxライブラリへの接続数をMicroTxに入力します。デフォルト(最小)の接続数は10です。最大値は20です。この値は、サービスが実行する問合せ数に応じて変更できます。この値はイニシエータ・アプリケーションと参加側アプリケーションの両方に指定します。
- spring.microtx.xa-transaction-timeout: トランザクションをアクティブにしておく最長期間(ミリ秒)を指定します。トランザクションのコミットまたはロールバックが指定した期間内に行われないと、トランザクションはロールバックされます。デフォルト(最小)値は60000です。この値は、トランザクション・イニシエータ・アプリケーションのみに指定します。トランザクション・イニシエータ・サービスは、指定したタイムアウト値を参加側サービスに伝播します。この値を参加側アプリケーションに指定しても無視されます。「トランザクション・タイムアウトの設定」を参照してください。
- spring.microtx.xa-resource-manager-id: XAトランザクションで使用するリソース・マネージャごとに一意の文字列値を指定します。RMIDとして指定する一意の値は、MicroTxがリソース・マネージャを識別するために使用されます。複数の参加側が同じリソース・マネージャを使用する場合、リソース・マネージャを共有する参加側に対して同じリソース・マネージャIDを指定します。この値は、データ・ストアのプロパティとは関係ありません。たとえば、- 174A5FF2-D8B2-47B0-AF09-DA5AFECA2F71です。
- spring.microtx.xa-xa-support: XA準拠リソースを使用する場合は、これを- trueに設定します。これを- falseに設定するのは、非XAリソースを使用する単一のトランザクション参加側サービスに対してのみです。デフォルト値は- trueです。- xa-xa-supportが- trueに設定されると、- xa-llr-supportおよび- xa-lrc-supportに設定された値は無視されます。
- spring.microtx.xa-llr-support: ロギング・ラスト・リソース(LLR)の最適化を有効にするには、これを- trueに設定します。この値は、非XAリソースをリソース・マネージャとして使用するトランザクション参加側サービスについてのみ設定します。デフォルト値は- falseです。- xa-llr-supportが- trueに設定されると、- xa-lrc-supportに設定された値は無視されます。- このプロパティ値を - trueに設定した場合にのみ、- xa-llr-delete-commit-record-intervalプロパティの値も指定できます。コミットされたレコードを保持する最長期間(ミリ秒)を指定します。デフォルト値は7,200,000ミリ秒または2時間です。ローカル・コミットを実行する前に、トランザクション・コーディネータはLLRブランチにコミット・レコードを作成します。コミット・レコードは、- xa-llr-delete-commit-record-intervalプロパティで指定された期間の後に削除されます。この値は、非XAリソースをリソース・マネージャとして使用するサービスについてのみ指定します。
- spring.microtx.xa-lrc-support: ラスト・リソース・コミット(LRC)の最適化を有効にするには、これを- trueに設定します。この値は、非XAリソースをリソース・マネージャとして使用するトランザクション参加側サービスについてのみ設定します。デフォルト値は- falseです。
- spring.microtx.xa-promotable-active: ローカル・トランザクションを有効にするか、コーディネータを使用せずに特定のトランザクションをローカルで管理するには、これを- trueに設定します。この値は、トランザクションにも参加するトランザクション・イニシエータ・サービスに対してのみ指定します。- デフォルト値は - falseです。- xa-promotable-activeの値を- falseに設定すると、すべてのトランザクションがデフォルトでグローバル・トランザクションとして開始され、GTRIDに関連付けられます。ローカル・トランザクションは開始されません。「グローバルおよびローカル・トランザクションについて」を参照してください。
- spring.microtx.xa-rac-active: これを- trueに設定するのは、Oracle Real Application Clusters (RAC)データベースをリソース・マネージャとして使用するトランザクション参加側サービスに対してのみです。デフォルト値は- falseです。
 spring:
  microtx:
    coordinator-url: http://tmm-app:9000/api/v1
    participant-url: https://bookTicket-app:8081
    propagation-active: true
    http-client-connection-pool-size: 60
    xa-transaction-timeout: 60000
    xa-xa-support: true
    xa-llr-support: false
    xa-lrc-support: false
    xa-llr-delete-commit-record-interval: 720000
    xa-resource-manager-id: 174A5FF2-D8B1-47B0-AF09-DA5AFECA2F61
    xa-promotable-active: false
    xa-rac-active: falseアプリケーションとMicroTxが同じKubernetesクラスタ内にある場合はHTTPプロトコルを使用し、それ以外の場合はHTTPSプロトコルを使用します。
これらの構成値を環境変数として指定することもできます。application.yamlファイルと環境変数の両方に値を指定した場合、環境変数に設定されている値がプロパティ・ファイルの値をオーバーライドすることに注意してください。
                  
次の例は、環境変数を構成するためのサンプル値を示しています。
export SPRING_MICROTX_COORDINATOR_URL = http://tmm-app:9000/api/v1
export SPRING_MICROTX_PARTICIPANT_URL = http://bookTicket-app:8081
export SPRING_MICROTX_PROPAGATION_ACTIVE = true
export SPRING_MICROTX_HTTP_CLIENT_CONNECTION_POOL_SIZE = 15
export SPRING_MICROTX_XA_TRANSACTION_TIMEOUT = 60000
export SPRING_MICROTX_XA_XA_SUPPORT = true
export SPRING_MICROTX_XA_LLR_SUPPORT = false
export SPRING_MICROTX_XA_LLR_DELETE_COMMIT_RECORD_INTERVAL = 720000
export SPRING_MICROTX_XA_LRC_SUPPORT = false
export SPRING_MICROTX_XA_RESOURCE_MANAGER_ID = 174A5FF2-D8B1-47B0-AF09-DA5AFECA2F61
export SPRING_MICROTX_PROMOTABLE_ACTIVE = false
export SPRING_MICROTX_XA_RAC_ACTIVE = false環境変数名では大/小文字が区別されることに注意してください。
親トピック: XAでのSpring Bootアプリケーションの開発