パッケージ jakarta.ejb
インターフェース EJBContext
- すべての既知のサブインターフェース:
EntityContext、MessageDrivenContext、SessionContext
public interface EJBContext
EJBContext インターフェースは、Enterprise Bean インスタンスのコンテナー提供のランタイムコンテキストへのアクセスをインスタンスに提供します。
このインターフェースは SessionContext、EntityContext、MessageDrivenContext インターフェースによって拡張され、エンタープライズインターフェース Bean 型に固有の追加のメソッドを提供します。
- 導入:
- EJB 1.0
- 関連事項:
方法の概要
修飾子と型メソッド説明呼び出し元を識別するjava.security.Principalを取得します。getContextDataメソッドを使用すると、ビジネスメソッド、ライフサイクルコールバックメソッド、タイムアウトメソッドで、その呼び出しに関連付けられているインターセプター / Web サービスコンテキストを取得できます。Enterprise Bean のリモートホームインターフェースを取得します。Enterprise Bean のローカルホームインターフェースを取得します。booleanトランザクションがロールバックのみにマークされているかどうかをテストします。Enterprise Bean タイマーサービスにアクセスします。トランザクション境界インターフェースを取得します。booleanisCallerInRole(StringSE roleName) 呼び出し元が特定のセキュリティロールを持っているかどうかをテストします。java:名前空間内のリソースを検索します。void現在のトランザクションにロールバックのマークを付けます。
メソッドの詳細
getEJBHome
Enterprise Bean のリモートホームインターフェースを取得します。- 戻り値:
- Enterprise Bean のリモートホームインターフェース。
- 例外:
IllegalStateExceptionSE- Enterprise Bean にリモートホームインターフェースがない場合。
getEJBLocalHome
Enterprise Bean のローカルホームインターフェースを取得します。- 戻り値:
- Enterprise Bean のローカルホームインターフェース。
- 例外:
IllegalStateExceptionSE- Enterprise Bean にローカルホームインターフェースがない場合。- 導入:
- EJB 2.0
getCallerPrincipal
呼び出し元を識別するjava.security.Principalを取得します。- 戻り値:
- 呼び出し元を識別する
Principalオブジェクト。このメソッドはnullを返しません。 - 例外:
IllegalStateExceptionSE- インスタンスがこのメソッドの呼び出しを許可されていない場合、コンテナーは例外をスローします。- 導入:
- EJB 1.1
isCallerInRole
呼び出し元が特定のセキュリティロールを持っているかどうかをテストします。- パラメーター:
roleName- セキュリティロールの名前。ロールは、デプロイ記述子で定義されているセキュリティロールの 1 つである必要があります。- 戻り値:
- 呼び出し元が指定されたロールを持っている場合は True。
- 例外:
IllegalStateExceptionSE- インスタンスがこのメソッドの呼び出しを許可されていない場合、コンテナーは例外をスローします。- 導入:
- EJB 1.1
getUserTransaction
トランザクション境界インターフェースを取得します。Bean 管理のトランザクションを持つ Enterprise Bean のみがUserTransactionインターフェースを使用できます。エンティティ Bean は常にコンテナー管理のトランザクションを使用する必要があるため、セッション管理 Bean または Bean 管理のトランザクションを持つメッセージ駆動型 Bean のみがこのメソッドを呼び出すことができます。- 戻り値:
- Enterprise Bean インスタンスがトランザクションの境界設定に使用できる
UserTransactionインターフェース。 - 例外:
IllegalStateExceptionSE- インスタンスがUserTransactionインターフェースの使用を許可されていない場合(つまり、インスタンスがコンテナー管理のトランザクションを持つ Bean である場合)、コンテナーは例外をスローします。
setRollbackOnly
現在のトランザクションにロールバックのマークを付けます。トランザクションはロールバック対象として永続的にマークされます。ロールバック対象としてマークされたトランザクションはコミットできません。このメソッドを使用できるのは、コンテナー管理のトランザクションを持つ Enterprise Bean だけです。- 例外:
IllegalStateExceptionSE- インスタンスがこのメソッドの使用を許可されていない場合(つまり、インスタンスが Bean 管理のトランザクションを持つ Bean である場合)、コンテナーは例外をスローします。
getRollbackOnly
トランザクションがロールバックのみにマークされているかどうかをテストします。Enterprise Bean インスタンスは、この操作を使用して、たとえば、例外がキャッチされた後、現在のトランザクションに代わって計算を続行しても効果がないかどうかをテストできます。このメソッドを使用できるのは、コンテナー管理のトランザクションを持つ Enterprise Bean だけです。- 戻り値:
- 現在のトランザクションがロールバックとしてマークされている場合は true、それ以外の場合は false。
- 例外:
IllegalStateExceptionSE- インスタンスがこのメソッドの使用を許可されていない場合(つまり、インスタンスが Bean 管理のトランザクションを持つ Bean である場合)、コンテナーは例外をスローします。
getTimerService
Enterprise Bean タイマーサービスにアクセスします。- 戻り値:
TimerServiceオブジェクト。- 例外:
IllegalStateExceptionSE- インスタンスがこのメソッドの使用を許可されていない場合、コンテナーは例外をスローします (たとえば Bean がステートフルセッション Bean の場合)- 導入:
- EJB 2.1
lookup
java:名前空間内のリソースを検索します。プライベートコンポーネント名前空間内のエントリを参照する名前は、非修飾文字列として渡すことができます。その場合、ルックアップは"java:comp/env/"に関連します。例: Enterprise Bean がejb-local-refをejb-ref-name"ejb/BarRef"で定義すると仮定すると、EJBContext.lookupへの次の 2 つの呼び出しは同等です:ejbContext.lookup("ejb/BarRef");ejbContext.lookup("java:comp/env/ejb/BarRef");- パラメーター:
name- エントリの名前- 戻り値:
ObjectSE オブジェクト。- 例外:
IllegalArgumentExceptionSE- 指定された名前がコンポーネントの環境内のエントリと一致しない場合、コンテナーは例外をスローします。- 導入:
- EJB 3.0
getContextData
getContextDataメソッドを使用すると、ビジネスメソッド、ライフサイクルコールバックメソッド、タイムアウトメソッドで、その呼び出しに関連付けられているインターセプター / Web サービスコンテキストを取得できます。- 戻り値:
- この呼び出しに関連付けられたインターセプターコンテキストのコンテキストデータ。コンテキストデータがない場合、空の
Map<String,Object>オブジェクトが返されます。 - 導入:
- EJB 3.1