Cosminexus 機能解説
JTAを使用してトランザクションを実装したプログラムの処理の内容,および動作を次の表に示します。
表9-49 JTAの動作
処理の内容 | 動作 |
---|---|
|
クライアント側のトランザクションをロールバックにマークするかしないかは,プロパティ(ejbserver.distributedtx.rollbackClientTxOnSystemException)の設定で変わります。プロパティの設定値とその動作については,「9.3.5 システム例外発生時のトランザクションの動作」を参照してください。 |
トランザクションタイムアウト発生後に,javax.transaction.UserTransaction.commitメソッドを呼び出した場合 | javax.transaction.RollbackException例外が発生します。ただし,トランザクションタイムアウトが発生したあと,2回以上UserTransaction.commitメソッドを呼び出すと,2回目以降はjava.lang.IllegalStateException例外が発生します。 |
トランザクションタイムアウト発生後にjavax.transaction.UserTransaction.rollbackメソッドを呼び出した場合 | 例外は発生しません。 |
トランザクションタイムアウト後のjavax.transaction.UserTransaction.getStatusメソッドの戻り値 | javax.transaction.Status.STATUS_ROLLEDBACKが返されます。ただし,UserTransaction.commitメソッド,またはUserTransaction.rollbackメソッドを呼び出したあとは,javax.transaction.Status.STATUS_NO_TRANSACTIONが返されます。 |
javax.ejb.SessionSynchronizationを実装したEJBのbeforeCompletionメソッド,またはafterCompletionメソッドからのEJB呼び出し | 例外が発生することなく,呼び出すことができます。 |
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.