Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第3部 EJB編> 第25章 Session Bean編> 25.6 Enterprise Beanクラスを作成する

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

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

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

STATEFUL Session Beanの場合



メソッド名

実行可能な操作

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

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

コンストラクタ

なし

なし

setSessionContext

  • javax.ejb.SessionContextメソッド
    − getEJBHome
    − getEJBLocalHome
  • Enterprise Bean Environmentの利用
  • javax.ejb.SessionContextメソッド
    − getEJBHome
    − getEJBLocalHome
  • Enterprise Bean Environmentの利用

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インタフェースは実装できません。(※)

afterCompletion

  • javax.ejb.SessionContextメソッド
    − getEJBHome
    − getEJBLocalHome
    − getCallerPrincipal
    − isCallerInRole
    − getEJBObject
    − getEJBLocalObject
  • Enterprise Bean Environmentの利用

※詳細については、“SessionSynchronizationインタフェースを使用したトランザクション機能”を参照してください。

STATELESS Session Beanの場合

メソッド名

実行可能な操作

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

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

コンストラクタ

なし

なし

setSessionContext

  • javax.ejb.SessionContextメソッド
    − getEJBHome
    − getEJBLocalHome
  • Enterprise Bean Environmentの利用
  • javax.ejb.SessionContextメソッド
    − getEJBHome
    − getEJBLocalHome
  • Enterprise Bean Environmentの利用

ejbCreate
ejbRemove

  • javax.ejb.SessionContextメソッド
    − getEJBHome
    − getEJBLocalHome
    − getEJBObject
    − getEJBLocalObject
  • Enterprise Bean Environmentの利用
  • javax.ejb.SessionContextメソッド
    − getEJBHome
    − getEJBLocalHome
    − getEJBObject
    − getEJBLocalObject
    − getUserTransaction
  • javax.transaction.UserTransactionメソッド
  • Enterprise Bean Environmentの利用

ビジネスメソッド

  • 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アプリケーションへのアクセス

注意事項

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

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


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2006