Package jakarta.enterprise.context
Annotation Interface SessionScoped
@Target({TYPE,METHOD,FIELD})
@Retention(RUNTIME)
@Documented
@NormalScope(passivating=true)
@Inherited
public @interface SessionScoped
Specifies that a bean is session scoped.
While SessionScoped must be associated with the built-in session context required by the specification,
third-party extensions are
allowed to also associate it with their own context. Behavior described below is only related to the built-in session context.
The session scope is active:
- during the
service()method of any servlet in the web application, - during the doFilter() method of any servlet filter, and
- when the container calls any
HttpSessionListener,AsyncListenerorServletRequestListener.
The session context is shared between all servlet requests that occur in the same HTTP session.
The session context is destroyed:
- when the HTTPSession times out, after all
HttpSessionListenershave been called, or - at the very end of
any request in which
invalidate()was called, after all filters andServletRequestListenershave been called.
An event with qualifier @Initialized(SessionScoped.class) is fired when the session context is initialized and an
event
with qualifier @Destroyed(SessionScoped.class) when the session context is destroyed. The event payload is
the HttpSession
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classSupports inline instantiation of theSessionScopedannotation.