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

第3部 EJB編> 第12章 Session Beanの実装> 12.6 Enterprise Beanクラスの作成

12.6.2 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)詳細については、“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.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アプリケーションへのアクセス

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


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

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


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

Copyright 2008 FUJITSU LIMITED