アノテーション型 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 アプリケーション内のサーブレットの