Cosminexus V9 アプリケーションサーバ 機能解説 互換編

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

2.4.5 JTAによるトランザクション実装時の注意事項

JTAを使用してトランザクションを実装したプログラムは,J2EEサーバの動作モードによって異なる動作をする場合があります。ベーシックモードの場合のプログラムの処理内容,および動作を次に示します。1.4モードの場合については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.4.11 JTAによるトランザクション実装時の注意事項」を参照してください。

表2-26 ベーシックモードの場合の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例外が発生します。