Business Components for Javaフレームワークでは、次のようにロールバックが行われます。
すべてのTransactionListenerについてbeforeRollback()をコールします。
データベースのロールバックを起動します。
すべてのTransactionListenerについてafterRollback()をコールします。
beforeRollback()メソッドから例外がスローされる場合、それらはコール側にスローされます。ロールバック時にデータベースから例外がスローされる場合、例外はJboExceptionになり、スローされます。afterRollback()コールにより例外がスローされる場合、例外は補足され、afterRollback()コールでスローされた例外を含むAfterRollbackExceptionとしてスローされます。
注意: ロールバック・サイクル中、各TransactionListenerのbeforeRollback()およびafterRollback()メソッドは必ず1回だけコールされます。