Interstage Application Server J2EE ユーザーズガイド |
目次
索引
![]() ![]() |
第3部 EJB編 | > 第28章 Bean共通編 | > 28.3 トランザクションを使用したアプリケーション | > 28.3.1 EJBサービスのトランザクション機能を使用する |
EJBサービスが提供するトランザクションで、トランザクション管理種別を“Container”に指定した場合の例外処理と、SessionSynchronizationインタフェースを使用した場合の例外処理について説明します。
EJBサービスが提供するトランザクションの詳細は、“トランザクション管理種別とトランザクション属性”を参照してください。
以下に、各属性を指定した場合の例外処理について示します。
トランザクション属性 |
例外処理の内容 |
|
ユーザ例外発生時 |
システム例外発生時 |
|
Mandatory |
呼出し元に、メソッド内で返却されたユーザ例外が返却されます。 |
トランザクションをrollbackするように宣言(マーク)し、呼出し元へは “TransactionRolledBackException”が返却されます。呼出し元でトランザクションがrollbackされます。 |
Required |
|
|
Supports |
当属性が指定されたメソッドは、SessionContext/EntityContextインタフェースのsetRollbackOnlyメソッドを使用することはできません。呼出し元へは、メソッド内で返却されたユーザ例外が返却されます。 |
|
RequiresNew |
|
|
NotSupported |
停止されたトランザクションはコンテナによって再開され、当メソッド呼出し元へはユーザ例外が返却されます。 |
停止されたトランザクションは、コンテナによって再開されます。呼出し元へは“RemoteException”例外が返却されます。 |
Never |
呼出し元へは、メソッド内で返却されたユーザ例外が返却されます。 |
呼出し元へは、“RemoteException”が返却されます。 |
メソッド名 |
例外処理の内容 |
afterbegin |
トランザクションにロールバックが指定され、“TransactionRolledbackException”例外がビジネスメソッドの呼出し元へ通知されます。 |
beforeCompletion |
トランザクションがロールバックされ、コミットの発行元に対して“HeuristicRolledbackException”例外が通知されます。 |
afterCompletion |
例外は通知されません。 |
目次
索引
![]() ![]() |