アノテーション型 SessionScoped
@TargetSE({TYPESE,METHODSE,FIELDSE}) @RetentionSE(RUNTIMESE) @DocumentedSE @NormalScope(passivating=true) @InheritedSE public @interface SessionScoped
Bean がセッションスコープであることを指定します。
SessionScoped
は、仕様で要求される組み込みのセッションコンテキストに関連付ける必要がありますが、サードパーティの拡張機能は、SessionScoped
を独自のコンテキストに関連付けることもできます。以下で説明する動作は、組み込みのセッションコンテキストにのみ関連しています。セッションスコープはアクティブです:
- Web アプリケーション内のサーブレットの
service()
メソッド中に - 任意のサーブレットフィルターの doFilter() メソッド中、および
- コンテナーが
HttpSessionListener
、AsyncListener
、ServletRequestListener
を呼び出すとき。
セッションコンテキストは、同じ HTTP セッションで発生するすべてのサーブレットリクエスト間で共有されます。
セッションコンテキストが破棄されます:
- HTTPSession がタイムアウトしたとき、すべての
HttpSessionListeners
が呼び出された後 - すべてのフィルターと
ServletRequestListeners
が呼び出された後、invalidate()
が呼び出されたリクエストの最後。
修飾子
@Initialized(SessionScoped.class)
のイベントは、セッションコンテキストが初期化されたときに発生し、修飾子@Destroyed(SessionScoped.class)
のイベントは、セッションコンテキストが破棄されたときに発生します。イベントペイロードはHttpSession
ですCDI Lite 実装は、セッションスコープのサポートを提供する必要はありません。
- 作成者:
- Gavin King, Pete Muir, Antoine Sabot-Durand
- Web アプリケーション内のサーブレットの