以下の操作は、Beanクラスのメソッドごとに実行できる操作が異なります。
javax.ejb.MessageDrivenContextインタフェースのメソッド実行
javax.transaction.UserTransactionインタフェースのメソッド実行
Enterprise Bean Environmentの利用
データベースへのアクセス
他のEJBアプリケーションへのアクセス
実行できる操作は以下です。以下に示す以外の操作を実行した場合は、java.lang.IllegalStateExceptionが発生する場合があります。
メソッド名 | 実行可能な操作 |
---|
トランザクション管理種別が Containerの場合 | トランザクション管理種別が Beanの場合 |
---|
コンストラクタ | なし | なし |
setMessageDrivenContext | | |
ejbCreate | | |
ejbRemove | javax.ejb.MessageDrivenContextメソッド getRollbackOnly (注1) setRollbackOnly (注1) getTimerService
リソースマネージャ(データベースなど)へのアクセス (注1) 他のEJBアプリケーションへのアクセス (注1) Enterprise Bean Environmentの利用
| javax.ejb.MessageDrivenContextメソッド getUserTransaction getTimerService
javax.transaction.UserTransactionメソッド (注1) リソースマネージャ(データベースなど)へのアクセス (注1) 他のEJBアプリケーションへのアクセス (注1) Enterprise Bean Environmentの利用
|
メッセージリスナメソッド | javax.ejb.MessageDrivenContextメソッド getRollbackOnly setRollbackOnly getTimerService
javax.ejb.TimerServiceメソッド javax.ejb.Timerメソッド Enterprise Bean Environmentの利用 リソースマネージャ(データベースなど)へのアクセス 他のEJBアプリケーションへのアクセス
| javax.ejb.MessageDrivenContextメソッド getUserTransaction getTimerService
javax.transaction.UserTransactionメソッド javax.ejb.TimerServiceメソッド javax.ejb.Timerメソッド Enterprise Bean Environmentの利用 リソースマネージャ(データベースなど)へのアクセス 他のEJBアプリケーションへのアクセス
|
ejbTimeout | javax.ejb.MessageDrivenContextメソッド getRollbackOnly setRollbackOnly getTimerService
javax.ejb.TimerServiceメソッド javax.ejb.Timerメソッド Enterprise Bean Environmentの利用 リソースマネージャ(データベースなど)へのアクセス 他のEJBアプリケーションへのアクセス
| javax.ejb.MessageDrivenContextメソッド getUserTransaction getTimerService
javax.transaction.UserTransactionメソッド javax.ejb.TimerServiceメソッド javax.ejb.Timerメソッド Enterprise Bean Environmentの利用 リソースマネージャ(データベースなど)へのアクセス 他のEJBアプリケーションへのアクセス
|
注1) EJB規約では許可されていないため、アプリケーションの移行性を重視する場合には推奨しません。
注意
MessageDrivenContextインタフェースのgetRollbackOnlyメソッドとsetRollbackOnlyメソッドは、トランザクション属性がRequiredのときだけ使用してください。
トランザクション属性がNotSupportedのときにこれらのメソッドが呼び出された場合は、java.lang.IllegalStateExceptionが発生する場合があります。