アノテーション型 ApplicationScoped
@TargetSE({TYPESE,METHODSE,FIELDSE}) @RetentionSE(RUNTIMESE) @DocumentedSE @NormalScope @InheritedSE public @interface ApplicationScoped
Bean がアプリケーションスコープであることを指定します。
ApplicationScopedは、仕様で要求される組み込みアプリケーションコンテキストに関連付ける必要がありますが、サードパーティの拡張機能は、ApplicationScopedを独自のコンテキストに関連付けることもできます。以下で説明する動作は、組み込みのアプリケーションコンテキストにのみ関連しています。アプリケーションスコープがアクティブです:
- Web アプリケーション内のサーブレットの
service()メソッド中、サーブレットフィルターのdoFilter()メソッド中、コンテナーがServletContextListener、HttpSessionListener、AsyncListenerまたはServletRequestListenerを呼び出すとき。 - Java EE Web サービスの呼び出し
- リモートメソッドによる EJB の呼び出し中、非同期メソッドによる EJB の呼び出し中、EJB タイムアウトメソッドの呼び出し中、EJB メッセージ駆動型 Bean へのメッセージ配信中。
@ApplicationScoped以外の通常のスコープを持つ Bean のディスポーザーメソッドまたは@PreDestroyコールバックが呼び出されたとき- Bean の
@PostConstructコールバック中。
アプリケーションコンテキストは、すべてのサーブレットリクエスト、Web サービス呼び出し、EJB リモートメソッド呼び出し、EJB 非同期メソッド呼び出し、EJB タイムアウト、同じアプリケーション内で実行されるメッセージ駆動型 Bean へのメッセージ配信の間で共有されます。
アプリケーションがシャットダウンされると、アプリケーションコンテキストは破棄されます。
修飾子
@Initialized(ApplicationScoped.class)のイベントは、アプリケーションコンテキストが初期化されたときに発生し、修飾子@Destroyed(ApplicationScoped.class)のイベントは、アプリケーションコンテキストが破棄されたときに発生します。イベントペイロードは次のとおりです。- アプリケーションがサーブレットコンテナーにデプロイされた Web アプリケーションである場合は
ServletContext、または - 他のタイプのアプリケーション用の任意の
java.lang.Object。
- 作成者:
- Gavin King, Pete Muir, Antoine Sabot-Durand
- Web アプリケーション内のサーブレットの