Cosminexus 機能解説

[目次][用語][索引][前へ][次へ]

付録B.5 JTAによるトランザクション実装時の注意事項

JTAを使用してトランザクションを実装したプログラムは,J2EEサーバの動作モードによって異なる動作をする場合があります。ベーシックモードの場合のプログラムの処理内容,および動作を次に示します。1.4モードの場合については,「9.17.5 JTAによるトランザクション実装時の注意事項」を参照してください。

表B-5 ベーシックモードの場合のJTAの動作

処理の内容 動作

  • EJB呼び出しで,java.rmi.RemoteExceptionまたはjava.rmi.RemoteExceptionを継承した例外が発生した場合
  • CORBAのシステム例外が発生した場合
クライアント側のトランザクションは,ロールバックにマークされません。
トランザクションタイムアウト発生後に,javax.transaction.UserTransaction.commitメソッドを呼び出した場合 java.lang.IllegalStateException例外が発生します。
トランザクションタイムアウト発生後にjavax.transaction.UserTransaction.rollbackメソッドを呼び出した場合 java.lang.IllegalStateException例外が発生します。
トランザクションタイムアウト後のjavax.transaction.UserTransaction.getStatusメソッドの戻り値 javax.transaction.Status.STATUS_NO_TRANSACTIONが返されます。
javax.ejb.SessionSynchronizationを実装したEJBのbeforeCompletionメソッド,またはafterCompletionメソッドからのEJB呼び出し 呼び出せません。呼び出すと,javax.transaction.SystemException例外が発生します。