アノテーションインターフェース ApplicationScoped


Bean がアプリケーションスコープであることを指定します。

ApplicationScoped は、仕様で要求される組み込みアプリケーションコンテキストに関連付ける必要がありますが、サードパーティの拡張機能は、ApplicationScoped を独自のコンテキストに関連付けることもできます。以下で説明する動作は、組み込みのアプリケーションコンテキストにのみ関連しています。

アプリケーションスコープがアクティブです:

  • Web アプリケーション内のサーブレットの service() メソッド中、サーブレットフィルターの doFilter() メソッド中、コンテナーが ServletContextListenerHttpSessionListenerAsyncListener または 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
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    クラス
    説明
    static final class
    ApplicationScoped アノテーションのインラインインスタンス化をサポートします。