@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.