4.14.2 トランザクションに関するタイムアウト
TP1インバウンドアダプタでは,トランザクションを開始してから決着処理を開始するまでのタイムアウトを設定できます。タイムアウトを設定しておくことで,ネットワークの障害やOpenTP1の障害などが発生して,トランザクションが決着できない場合に,自動でロールバックできます。
OpenTP1での設定,およびトランザクションに関するタイムアウトの有効範囲と設定方法を次に示します。
- 〈この項の構成〉
(1) OpenTP1での設定
図4-20の1のポイントから3のポイント,および6のポイントのタイムアウトの設定は,OpenTP1で実施します。タイムアウトの設定方法を次の表に示します。
図中番号 |
設定項目 |
設定ファイル※ |
説明 |
---|---|---|---|
1 |
トランザクション完了限界時間 |
ユーザサービス定義 (trn_completion_limit_time) |
トランザクションの開始から終了までの時間を指定します。 |
2 |
トランザクションブランチ限界経過時間 |
ユーザサービス定義 (trn_expiration_time) |
トランザクションの開始から同期点処理を開始するまでの時間を指定します。 |
3 |
RPC最大応答待ち時間 |
ユーザサービス定義 (watch_time) |
RPC要求を送信してからサービスの応答が返るまでの待ち時間を秒単位で指定します。 |
6 |
トランザクション同期点処理時の最大通信待ち時間 |
ユーザサービス定義 (trn_watch_time) |
トランザクションの同期点処理で,トランザクションブランチ間の通信の受信待ち時間を指定します。 |
(2) アプリケーションサーバの実行環境での設定
図4-20の4のポイントおよび5のポイントのタイムアウトの設定は,アプリケーションサーバの実行環境で実施します。タイムアウトの設定方法を次の表に示します。
図中番号 |
設定項目 |
設定ファイル※1 |
説明 |
---|---|---|---|
4 |
トランザクションタイムアウト時間 |
cosminexus.xml (<ejb-transaction-timeout>タグ) |
アプリケーションサーバ内でのトランザクション開始からトランザクション決着処理開始までの時間を指定します。 |
J2EEサーバ用ユーザプロパティファイル (ejbserver.jta.TransactionManager.defaultTimeOut) |
|||
5 |
サービス実行タイムアウト※2 |
cosminexus.xml (<ejb-method-observation-timeout>タグ) |
Message-driven Bean(サービス)の実行時間を秒単位で指定します。 |
cosminexus.xml (<method-observation-recovery-mode>タグ) |
「thread」を指定します。 |
注※2 サービス実行タイムアウトは,アプリケーションサーバのメソッドキャンセル機能を使用します。メソッドキャンセル機能の詳細は,マニュアル「アプリケーションサーバ 機能解説 運用/監視/連携編」の「5.3.2 J2EEアプリケーション実行時間の監視とは」を参照してください。