[cdi-dev] [JBoss JIRA] (CDI-533) Bean Deployment archive conflicts between section 5 and section 12

Mark Struberg (JIRA) issues at jboss.org
Tue Jun 2 22:08:02 EDT 2015

    [ https://issues.jboss.org/browse/CDI-533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13073479#comment-13073479 ] 

Mark Struberg commented on CDI-533:

The correct implementation is section 12.
No that is not correct. The _original_ (way back in early 2008) intention was EE module. Then there was some discussion about interceptor ordering ambiguity and it got narrowed to JARs. But this was only intended for interceptors, and only half done. So it is still ambiguous till today and many containers enable Alternatives for the whole EE module if they are enabled in one of the beans.xml in it. Even the EE6 RI behaved that way (and only got 'patched' by a Weld update and the RI implementers seems to not even have been aware of that functional change).

The important point is that the per-jar interceptor/alternatives/decorator interpretation is pure PITA for all users.

> Bean Deployment archive conflicts between section 5 and section 12
> ------------------------------------------------------------------
>                 Key: CDI-533
>                 URL: https://issues.jboss.org/browse/CDI-533
>             Project: CDI Specification Issues
>          Issue Type: Clarification
>          Components: Packaging and Deployment
>    Affects Versions: 1.2.Final
>         Environment: n/a
>            Reporter: Emily Jiang
> In CDI1.2 spec, the definition for bean archive are conflicting between section 5 and section 12;
> In section 5, 
> Beans and their clients may be deployed in modules in a module architecture such as the Java EE environment. In a module architecture, certain modules are considered bean archives. In the Java EE module architecture, any Java EE module or library is a module. The Java EE module or library is a bean archive if it contains a beans.xml file. 
> This section talks about the bean deployment on the module or library level. It indicates one web module (may contain web-inf\lib etc) is a single bean archive. The smallest unit is a module or a lib.
> While in section 12:
> When determining which archives are bean archives, the container must consider:
> • Library jars, EJB jars or application client jars
> • The WEB-INF/classes directory of a war
> • Directories in the JVM classpath
> It indicates each jar should be a bean archive. The smallest unit is a jar.
> I started this conversation with Mark, Jozef, Antoine, Romain. The correct implementation is section 12. So section 5 needs to be reworked.
> All conversation is on the cdi-dev mailing list. 

This message was sent by Atlassian JIRA

More information about the cdi-dev mailing list