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

Non EE modules should be able to inject/lookup in JNDI a BeanManager

    Details

      Description

      EE.5.19

      A bean manager is only available in modules in which CDI has been enabled.

      Where EE modules are defined to be; ejb-jar, rar, client jar and war.

      This is a missmatch between the EE spec and the CDI spec. According to the CDI spec, any archive with a beans.xml is defined as a BeanArchive and should be included in a BeanManager, EE define it to be only EE modules should trigger BeanManager creation.

      Opening this up to follow the CDI spec will let any library use the BeanManager to introspect other BeanArchives without having to involve the owning EE module in the loop.

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            pmuir Pete Muir added a comment -

            Aslak could you expand on this, I don't quite follow.

            Show
            pmuir Pete Muir added a comment - Aslak could you expand on this, I don't quite follow.
            Hide
            aslak Aslak Knutsen added a comment -

            To my understanding, a BeanArchive packaged in a WAR or EAR's(EE Modules) library folder should not trigger the creation of a BeanManager unless the EE module itself is a BeanArchive.

            ps: I might be referring to the wrong Spec point here.
            pss: This might be a dup of CDI-49 depending on the definition of available(create vs visible).

            Between this and CDI-49, the general point is: Where ever the BeanArchive is located and whether or not you yourself(the caller) is a BeanArchive, you should see a BeanManager with content that follow the normal EE class visibility rules. (of course only if there are any BeanArchives within your visible range)

            Show
            aslak Aslak Knutsen added a comment - To my understanding, a BeanArchive packaged in a WAR or EAR's(EE Modules) library folder should not trigger the creation of a BeanManager unless the EE module itself is a BeanArchive. ps: I might be referring to the wrong Spec point here. pss: This might be a dup of CDI-49 depending on the definition of available(create vs visible). Between this and CDI-49 , the general point is: Where ever the BeanArchive is located and whether or not you yourself(the caller) is a BeanArchive, you should see a BeanManager with content that follow the normal EE class visibility rules. (of course only if there are any BeanArchives within your visible range)
            Hide
            pmuir Pete Muir added a comment -

            Deferring

            Show
            pmuir Pete Muir added a comment - Deferring

              People

              • Assignee:
                Unassigned
                Reporter:
                aslak Aslak Knutsen
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Development