2.2.5 ローカルトランザクションの同期点取得
- 〈この項の構成〉
(1) コミット
トランザクションが正常終了したときの同期点取得(コミット)は,Connector .NETのアプリケーションからTP1ConnectionクラスのCommitメソッドを呼び出して要求します。TP1ConnectionクラスのCommitメソッドは,TP1ClientクラスのCommitメソッドを呼び出します。
グローバルトランザクションは,すべてのトランザクションブランチが正常に終了したことで正常終了となります。
次の場合は,トランザクションはロールバックされます。
-
TP1ConnectionクラスのCommitメソッドを呼び出さないでアプリケーションが終了したとき
-
TP1ConnectionクラスのCommitメソッドを呼び出す前にアプリケーションが異常終了したとき
(2) ロールバック
(a) TP1/Serverの処理でのエラーの場合
トランザクションでエラーが発生すると,TP1ConnectionクラスのCommitメソッドで例外が発生します。そのトランザクションは部分回復対象としてロールバックされます。グローバルトランザクション内のどれか一つのトランザクションブランチでエラーが発生した場合でも,グローバルトランザクション全体がロールバックの対象となります。
このときTP1/Serverは,トランザクションブランチをロールバック対象と見なして,部分回復処理をします。
(b) ロールバック要求メソッドを呼び出す場合
トランザクションをConnector .NETのアプリケーションの判断でロールバックしたいときは,Connector .NETのアプリケーションからTP1ConnectionクラスのRollbackメソッドを呼び出して要求します。TP1ConnectionクラスのRollbackメソッドは,TP1ClientクラスのRollbackメソッドを呼び出します。
(3) トランザクションの処理時間について
トランザクションに関する次に示す時間をClient .NET構成定義で指定できます。
-
トランザクション同期点処理時の最大通信待ち時間
-
トランザクションブランチ最大実行可能時間
詳細については,マニュアル「TP1/Client for .NET Framework 使用の手引」の構成定義についての記述を参照してください。