アノテーション型 SessionScoped


  • @TargetSE({TYPESE,METHODSE,FIELDSE})
    @RetentionSE(RUNTIMESE)
    @DocumentedSE
    @NormalScope(passivating=true)
    @InheritedSE
    public @interface SessionScoped

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

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

    セッションスコープはアクティブです:

    • Web アプリケーション内のサーブレットの service() メソッド中に
    • 任意のサーブレットフィルターの doFilter() メソッド中、および
    • コンテナーが HttpSessionListenerAsyncListenerServletRequestListener を呼び出すとき。

    セッションコンテキストは、同じ HTTP セッションで発生するすべてのサーブレットリクエスト間で共有されます。

    セッションコンテキストが破棄されます:

    • HTTPSession がタイムアウトしたとき、すべての HttpSessionListeners が呼び出された後
    • すべてのフィルターと ServletRequestListeners が呼び出された後、invalidate() が呼び出されたリクエストの最後。

    修飾子 @Initialized(SessionScoped.class) のイベントは、セッションコンテキストが初期化されたときに発生し、修飾子 @Destroyed(SessionScoped.class) のイベントは、セッションコンテキストが破棄されたときに発生します。イベントペイロードは HttpSession です

    CDI Lite 実装は、セッションスコープのサポートを提供する必要はありません。

    作成者:
    Gavin King, Pete Muir, Antoine Sabot-Durand