4.2.12 javax.ejb.EJBContextインタフェースメソッドについての注意事項

javax.ejb.EJBContextインタフェースのgetUserTransactionメソッド,getRollbackOnlyメソッド,setRollbackOnlyメソッドについては,Enterprise Beanのトランザクション管理モデルによっては発行できません。また,Enterprise Beanのメソッドのうち,EJB仕様で"Unspecified transaction"で動作するとされるものでは,発行できません。発行できない場合,EJBコンテナはjava.lang.IllegalStateExceptionを送出します。各メソッドの発行可否についてそれぞれの表に示します。

表4-2 トランザクション管理モデル別の発行可否

javax.ejb.EJBContextメソッド発行可否
BMTCMT
getUserTransaction×
getRollbackOnly×
setRollbackOnly×

(凡例)○:発行できる。 ×:発行できない。


表4-3 EJBのメソッド別の発行可否

Bean種別メソッド発行可否
SessionBeanコンストラクタ×
setSessionContext×
ejbCreate×
ejbRemove×
ejbPassivate×
ejbActivate×
ビジネスメソッド
afterBegin
beforeCompletion
afterCompletion×
EntityBeanコンストラクタ
setEntityContext×
unsetEntityContext×
ejbCreate
ejbPostCreate
ejbRemove
ejbHome
ejbPassivate×
ejbActivate×
ejbLoad
ejbStore
ビジネスメソッド
Message-driven Beanコンストラクタ×
ejbCreate×
onMessage
メッセージリスナのメソッド
ejbRemove×

(凡例)○:発行できる。 ×:発行できない。