Uploaded image for project: 'CDI Specification Issues'
  1. CDI Specification Issues
  2. CDI-500

Clarify @Intercepted Bean metadata injection for EE components

    Details

    • Type: Clarification
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 1.2.Final
    • Fix Version/s: 2.0 .Final
    • Component/s: Interceptors
    • Labels:
      None

      Description

      It's not clear what should happen when an interceptor with @Intercepted Bean metadata is associated with an EE component.

      See the CDI spec, "5.5.8. Bean metadata":

      Additionally, the container must provide beans allowing interceptors and decorators to obtain information about the beans they intercept and decorate:

      • a bean with scope @Dependent, qualifier @Intercepted and type Bean which can be injected into any interceptor instance, and
      • ...

      However, most EE components must also support the use of CDI interceptors. See also the Java EE 7 spec, "EE.5.2.5 Annotations and Injection":

      The component classes listed in Table EE.5-1 with support level "Standard"
      all support Java EE resource injection, as well as PostConstruct and PreDestroy callbacks. In addition, if CDI is enabled—which it is by default—these classes also support CDI injection, as described in Section EE.5.24, "Support for Dependency Injection", and the use of interceptors.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                mkouba Martin Kouba
                Reporter:
                mkouba Martin Kouba
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: