Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-734

Support @EJB injection in pre-Java EE 6 environments

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Obsolete
    • Minor
    • None
    • 1.1.0.Beta1
    • None
    • Documentation (Ref Guide, User Guide, etc.), Compatibility/Configuration
    • Medium

    Description

      Add support for the injection of EJBs into CDI beans (via the @EJB annotation) in Weld Servlet for use in pre-Java EE 6 environments. This feature would enable more developers to immeidately switch to CDI despite having to use an older platform.

      The best strategy to take to implement this feature would be to leverage Weld's EjbServices SPI interface (http://docs.jboss.org/weld/reference/latest/en-US/html/ri-spi.html) on a per container basis (in the same way Weld is integrated into the Java EE 6 containers).

      Currently, the Weld Listener doesn't provide any hooks to register services before it starts the container. We could redesign the Listener to support providing the EjbServices implementation (and perhaps other service implementations) in a listener subclass.

      It's unlikely we can fully implement EJB integration in pre EE6 environments as (at least in JBoss AS and GlassFish) as some of the hooks (specifically the hooks to remove EJBs on demand) are missing. However, basic injection would cover ~80% of the cases.

      Attachments

        Activity

          People

            Unassigned Unassigned
            dan.j.allen Dan Allen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: