ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド

12.6.3 Enterprise Beanクラスのメソッドが実行可能な操作

以下の操作については、Beanクラスのメソッドごとに実行できる操作が異なります。

以下に実行できる操作についてまとめます。以下に示す以外の操作を実行した場合は、java.lang.IllegalStateExceptionが発生する場合があります。

STATEFUL Session Beanの場合

メソッド名

実行可能な操作

トランザクション管理種別が
Containerの場合

トランザクション管理種別が
Beanの場合

コンストラクタ

なし

なし

setSessionContext

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス (注1)

  • リソースマネージャ(データベースなど)へのアクセス (注1)

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス (注1)

  • リソースマネージャ(データベースなど)へのアクセス (注1)

ejbCreate
ejbRemove
ejbActivate
ejbPassivate

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal

    • isCallerInRole

    • getEJBObject

    • getEJBLocalObject

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス

  • リソースマネージャ(データベースなど)へのアクセス

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal

    • isCallerInRole

    • getEJBObject

    • getEJBLocalObject

    • getUserTransaction

  • javax.transaction.UserTransactionメソッド

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス

  • リソースマネージャ(データベースなど)へのアクセス

ビジネスメソッド

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal

    • getRollbackOnly

    • isCallerInRole

    • setRollbackOnly

    • getEJBObject

    • getEJBLocalObject

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス

  • リソースマネージャ(データベースなど)へのアクセス

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal

    • isCallerInRole

    • getEJBObject

    • getEJBLocalObject

    • getUserTransaction

  • javax.transaction.UserTransactionメソッド

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス

  • リソースマネージャ(データベースなど)へのアクセス

  • データベースへのアクセス

afterBegin
beforeCompletion

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal

    • getRollbackOnly

    • isCallerInRole

    • setRollbackOnly

    • getEJBObject

    • getEJBLocalObject

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス

  • リソースマネージャ(データベースなど)へのアクセス

なし
(トランザクション種別がBeanの場合、SessionSynchronizationインタフェースのAPIは使用できません)。 (注2)

afterCompletion

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal

    • isCallerInRole

    • getEJBObject

    • getEJBLocalObject

  • Enterprise Bean Environmentの利用

注1) EJB規約では許可されていないため、アプリケーションの移行性を重視する場合には推奨しません。
2) 詳細については、“10.4.4 Session Beanのsynchronization機能”を参照してください。

STATELESS Session Beanの場合

メソッド名

実行可能な操作

トランザクション管理種別が
Containerの場合

トランザクション管理種別が
Beanの場合

コンストラクタ

なし

なし

setSessionContext

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal (注1)

    • isCallerInRole (注1)

    • getTimerService

  • javax.ejb.TimerServiceメソッド

  • javax.ejb.Timerメソッド

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス (注1)

  • リソースマネージャ(データベースなど)へのアクセス (注1)

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal (注1)

    • isCallerInRole (注1)

    • getTimerService

  • javax.ejb.TimerServiceメソッド

  • javax.ejb.Timerメソッド

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス (注1)

  • リソースマネージャ(データベースなど)へのアクセス (注1)

ejbCreate

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal (注1)

    • isCallerInRole (注1)

    • getEJBObject

    • getEJBLocalObject

    • getTimerService

  • javax.ejb.TimerServiceメソッド

  • javax.ejb.Timerメソッド

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス (注1)

  • リソースマネージャ(データベースなど)へのアクセス (注1)

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal (注1)

    • isCallerInRole (注1)

    • getEJBObject

    • getEJBLocalObject

    • getUserTransaction

    • getTimerService

  • javax.ejb.TimerServiceメソッド

  • javax.ejb.Timerメソッド

  • javax.transaction.UserTransactionメソッド

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス (注1)

  • リソースマネージャ(データベースなど)へのアクセス (注1)

ejbRemove

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getEJBObject

    • getEJBLocalObject

    • getTimerService

  • Enterprise Bean Environmentの利用

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getEJBObject

    • getEJBLocalObject

    • getUserTransaction

    • getTimerService

  • javax.transaction.UserTransactionメソッド

  • Enterprise Bean Environmentの利用

ビジネスメソッド
(RemoteインタフェースもしくはLocalインタフェースで呼び出された場合)

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal

    • getRollbackOnly

    • isCallerInRole

    • setRollbackOnly

    • getEJBObject

    • getEJBLocalObject

    • getTimerService

  • javax.ejb.TimerServiceメソッド

  • javax.ejb.Timerメソッド

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス

  • リソースマネージャ(データベースなど)へのアクセス

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal

    • isCallerInRole

    • getEJBObject

    • getEJBLocalObject

    • getUserTransaction

    • getTimerService

  • javax.ejb.TimerServiceメソッド

  • javax.ejb.Timerメソッド

  • javax.transaction.UserTransactionメソッド

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス

  • リソースマネージャ(データベースなど)へのアクセス

ビジネスメソッド
(サービスエンドポイントインタフェースで呼び出された場合)

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal

    • getRollbackOnly

    • isCallerInRole

    • setRollbackOnly

    • getEJBObject

    • getEJBLocalObject

    • getMessageContext

    • getTimerService

  • javax.ejb.TimerServiceメソッド

  • javax.ejb.Timerメソッド

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス

  • リソースマネージャ(データベースなど)へのアクセス

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal

    • isCallerInRole

    • getEJBObject

    • getEJBLocalObject

    • getUserTransaction

    • getMessageContext

    • getTimerService

  • javax.ejb.TimerServiceメソッド

  • javax.ejb.Timerメソッド

  • javax.transaction.UserTransactionメソッド

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス

  • リソースマネージャ(データベースなど)へのアクセス

ejbTimeout

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal

    • isCallerInRole

    • getRollbackOnly

    • setRollbackOnly

    • getEJBObject

    • getEJBLocalObject

    • getTimerService

  • javax.ejb.TimerServiceメソッド

  • javax.ejb.Timerメソッド

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス

  • リソースマネージャ(データベースなど)へのアクセス

  • javax.ejb.SessionContextメソッド

    • getEJBHome

    • getEJBLocalHome

    • getCallerPrincipal

    • isCallerInRole

    • getEJBObject

    • getEJBLocalObject

    • getUserTransaction

    • getTimerService

  • javax.ejb.TimerServiceメソッド

  • javax.ejb.Timerメソッド

  • javax.transaction.UserTransactionメソッド

  • Enterprise Bean Environmentの利用

  • 他のEJBアプリケーションへのアクセス

  • リソースマネージャ(データベースなど)へのアクセス

注1) EJB規約では許可されていないため、アプリケーションの移行性を重視する場合には推奨しません。

注意

SessionContextインタフェースのgetRollbackOnlyメソッドとsetRollbackOnlyメソッドは、トランザクション内で実行されるEnterprise Beanメソッドの中でだけ使用してください。

インスタンスがトランザクションに関連付けられていないときにこれらのメソッドが呼び出された場合は、java.lang.IllegalStateExceptionが発生する場合があります。