ロールバック・サイクルの処理について

Business Components for Javaフレームワークでは、次のようにロールバックが行われます。

  1. すべてのTransactionListenerについてbeforeRollback()をコールします。

  2. データベースのロールバックを起動します。

  3. すべてのTransactionListenerについてafterRollback()をコールします。

beforeRollback()メソッドから例外がスローされる場合、それらはコール側にスローされます。ロールバック時にデータベースから例外がスローされる場合、例外はJboExceptionになり、スローされます。afterRollback()コールにより例外がスローされる場合、例外は補足され、afterRollback()コールでスローされた例外を含むAfterRollbackExceptionとしてスローされます。

注意: ロールバック・サイクル中、各TransactionListenerのbeforeRollback()およびafterRollback()メソッドは必ず1回だけコールされます。