@Target(value={TYPE,METHOD,FIELD}) @Retention(value=RUNTIME) @Documented @NormalScope @Inherited public @interface RequestScoped
Specifies that a bean is request scoped.
While RequestScoped
must be associated with the built-in request 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 request context.
The request scope is active:
service()
method of any servlet in the web application, during the doFilter()
method of any
servlet filter and when the container calls any ServletRequestListener
or AsyncListener
,@PostConstruct
callback of any bean.The request context is destroyed:
service()
method, all doFilter()
methods, and all
requestDestroyed()
and onComplete()
notifications return,@PostConstruct
callback completes, if it did not already exist when the @PostConstruct
callback occurred.
An event with qualifier @Initialized(RequestScoped.class)
is fired when the request context is initialized and an
event
with qualifier @Destroyed(RequestScoped.class)
when the request context is destroyed. The event payload is:
ServletRequest
if the context is initialized or destroyed due to a servlet request, orServletRequest
if the context is initialized or destroyed due to a web service invocation, orjava.lang.Object
for other types of request.