以下に実行できる操作についてまとめます。以下に示す以外の操作を実行した場合は、java.lang.IllegalStateExceptionが発生する場合があります。
| メソッド名 | 実行可能な操作 | 
| トランザクション管理種別が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) | 
| ejbCreateejbRemove
 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アプリケーションへのアクセス | 
| afterBeginbeforeCompletion
 | 
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の利用 | 
| メソッド名 | 実行可能な操作 | 
| トランザクション管理種別が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.transaction.UserTransactionメソッド
javax.ejb.TimerServiceメソッド
javax.ejb.Timerメソッド
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アプリケーションへのアクセス | 
 インスタンスがトランザクションに関連付けられていないときにこれらのメソッドが呼び出された場合は、java.lang.IllegalStateExceptionが発生する場合があります。