7.14.7.1 TMM_BEGIN_TX関数

トランザクション・イニシエータ・アプリケーションが、複数のマイクロサービスにまたがるグローバル・トランザクションを開始するために使用します。トランザクション・メタデータを持つMicroTxTransactionオブジェクトを返します。

構文

TMM_BEGIN_TX (
   forwardHeaders      IN ForwardHeaders DEFAULT NULL, 
   transaction_timeout IN NUMBER)
RETURN MicroTxTransaction;

TMM_BEGIN_TX関数のパラメータ

パラメータ 説明
forwardHeaders

オプション。アプリケーションは、指定されたヘッダーをMicroTxコーディネータに転送し、コーディネータはアプリケーションとの通信時にこれらのヘッダーを使用します。アプリケーションは、認可トークン、トランザクション・トークン、およびマイクロサービス全体でトランザクションをトレースする一意のIDのヘッダーを転送できます。

コーディネータのvalues.yamlファイルでtmmConfiguration.authorization.authTokenPropagationEnabledtrueに設定して認可を有効にした場合、アプリケーションは認可トークンを転送する必要があります。

コーディネータのvalues.yamlファイルでtmmConfiguration.transactionToken.transactionTokenEnabledtrueに設定した場合、アプリケーションはトランザクション・トークンを転送する必要があります。

transaction_timeout オプション。トランザクションをアクティブにしておく期間(ミリ秒)を指定します。トランザクションのコミットまたはロールバックが指定した期間内に行われないと、トランザクションはロールバックされます。デフォルト(最小)値は60000です。これにより、microtx_config表のxa-transaction-timeoutの値がオーバーライドされます。

戻り値

パラメータ 説明
MicroTxTransaction

トランザクション・オブジェクトMicroTxTransactionを返します。このオブジェクトは、トランザクションの結合、コミット、ロールバックおよびステータスの取得に必要です。

次のサンプル・コードは、転送ヘッダーをtmm_begin_tx関数に渡す方法を示しています。この関数はMicroTxTransactionオブジェクトを返します。

//Set the headers that you want the application to forward to MicroTx
l_forwardheaders := ForwardHeaders(:authorization, :tmmTxToken, :requestId);
//Call the TMM_BEGIN_TX function to initiate the transaction
l_microTxTransaction := TMM_BEGIN_TX(l_forwardheaders);

後で指定してトランザクション・ステータスの取得、トランザクションのコミットまたはロールバックを行うため、戻り値の名前を書き留めます。