javax.enterprise.context

## Annotation Type RequestScoped

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

  - 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 `ServletRequestListener` or `AsyncListener`,
  - during any Java EE web service invocation,
  - during any remote method invocation of any EJB, during any asynchronous method invocation of any EJB, during any call to an EJB timeout method and during message delivery to any EJB message-driven bean, and
  - during `@PostConstruct` callback of any bean.

  The request context is destroyed:

  - at the end of the servlet request, after the `service()` method, all `doFilter()` methods, and all `requestDestroyed()` and `onComplete()` notifications return,
  - after the web service invocation completes,
  - after the EJB remote method invocation, asynchronous method invocation, timeout or message delivery completes if it did not already exist when the invocation occurred, or
  - after the `@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:

  - the `ServletRequest` if the context is initialized or destroyed due to a servlet request, or
  - the `ServletRequest` if the context is initialized or destroyed due to a web service invocation, or
  - any `java.lang.Object` for other types of request.
  Author:
    Gavin King, Pete Muir, Antoine Sabot-Durand

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.