EJBアプリケーションのトランザクション制御をコンテナが行う場合、トランザクションの時間が監視されます。本機能の設定は、EJBアプリケーションごとに指定でき、トランザクションサービスのトランザクションタイムアウト設定より優先して有効になります。
本監視機能の待機時間は、Interstage EJB application deployment descriptor (glassfish-ejb-jar.xml)ファイルの<ejb><cmt-timeout-in-seconds>タグに指定します。定義詳細については、「3.2.1.3 Interstage EJB application deployment descriptor (glassfish-ejb-jar.xml)」を参照してください。
トランザクションの処理時間が指定したトランザクションタイムアウト時間を超過した場合には、EJBコンテナが自動的にトランザクションの状態を「MarkedRollback」に変更します。MarkedRollbackに変更されたトランザクションは、EJBアプリケーションのメソッド処理完了時に、自動的にロールバックされます。トランザクションの状態については、「2.15.6 トランザクションの監視と凍結機能」を参照してください。本機能を使用することで、サーバのトランザクション処理が一定時間超過しても完了しない場合、サーバの処理復帰を待たずに呼出し元の処理を中断してもトランザクションを安全にロールバックできます。このとき、サーバーログには、EJB5123警告メッセージが出力されます(注)。クライアントにはエラーは返却されません。
注) EJBがMessage-driven Beanの場合は、RollbackExceptionが出力します。