7.14.7.5 TmmStart関数
グローバル・トランザクションでMicroTx XAコーディネータを使用してトランザクション参加側サービスを登録し、XAトランザクション境界を起動し、コールバックREST APIを登録して、トランザクション・メタデータを返します。
構文
TmmStart (
   callBackUrl        IN VARCHAR2, 
   linkUrl            IN VARCHAR2,
   requestId          IN VARCHAR2,
   authorizationToken IN VARCHAR2,
   tmmTxToken         IN VARCHAR2)
RETURN TmmReturn;TmmStart関数のパラメータ
| パラメータ | 説明 | 
|---|---|
| callBackUrl | 必須。参加側サービスのURLを入力し、ORDS RESTモジュールの名前で接尾辞を付けます。MicroTxは、指定したURLを使用して参加側ORDSサービスに接続します。たとえば、 | 
| linkUrl | 必須。 | 
| requestId | 必須。マイクロサービス間でトランザクションをトレースするための一意のID。 | 
| authorizationToken | 必須。 コーディネータの | 
| tmmTxToken | 必須。 コーディネータの | 
戻り値
TmmStart関数は、トランザクション・メタデータを持つTmmReturnオブジェクトを返します。TmmReturnオブジェクトには属性proceedがあり、これはTmmStart関数が正常に実行されたかどうか、トランザクションが進行できるかどうかを示します。
                  
| TmmReturn.proceed値 | 意味 | 
|---|---|
| 0 | XAトランザクション内で TmmStart関数がコールされましたが、XAの初期化は成功しませんでした。つまり、アプリケーション・コードでXAトランザクションを進めることはできません。 | 
| 1 | XAトランザクション内で TmmStart関数がコールされ、XAの初期化が成功しました。つまり、アプリケーション・コードでXAトランザクションを進める必要があります。 | 
| 2 | MicroTx XAトランザクションがなく、ローカル・トランザクション内で関数が実行されています。つまり、アプリケーション・コードを通常どおりに進めます。 | 
例
次のサンプル・コード・スニペットは、TmmStart関数をコールして値を渡す方法を示しています。これはMicroTxTransactionオブジェクトを返します。
                  
..
//In the example callback URL below, account is the name of the ORDS REST module. 
l_callBackUrl VARCHAR2(256) := get_microtx_config(''callback-url'') || ''/accounts'';
//Call the TmmStart function to initiate the transaction. Pass the parameters, other than callBackUrl, as shown in the example below.
l_microTxTransaction := TmmStart(callBackUrl => l_callBackUrl, linkUrl => :linkUrl, requestId => :requestId, authorizationToken => :authorization, tmmTxToken => :tmmTxToken);
//Check if the transaction should proceed or not
IF (l_microTxTransaction.proceed > 0) THEN       
//Run the application's business logic
...
END IF;後で指定してトランザクション・ステータスの取得、トランザクションのコミットまたはロールバックを行うため、戻り値の名前を書き留めます。
親トピック: MicroTx PL/SQLライブラリ関数