<div dir="ltr"><div><div>I have a further thought on this. If we use section 5, a module is the unit of bean archive. All jars on the module&#39;s classpath and web-inf\lib (for war) are merged together to form a bean archive. This maintains backward compatibility but implicit bean archives are not useful as the archives are too <span class="">coarse-grained</span>.<br><br></div>If we use section 12, each jar is a bean archive. In this way, the implicit bean archives are fully utilised. However, this breaks backward compatibility with cdi 1.0. In a EE module, all classpath jars and web-inf\lib jars are treated bean archives pending scanning. However, if they don&#39;t have bean defining annotations, they are excluded from the bean archives. Hence some injection may fail to resolve. This change needs to go to CDI 2 as it introduces backward incompatible changes.<br><br></div>In light of this, section 5 should be used. Thougths?<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, May 2, 2015 at 11:20 PM, Emily Jiang <span dir="ltr">&lt;<a href="mailto:emijiang6@googlemail.com" target="_blank">emijiang6@googlemail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span class=""><div>I agree with Mark. I am confused about section 5 and section 12. 
Weld-2 leaves the work of specifying the bean archive to the integrator.
 I am wondering how the new version of app server using Weld-2 can pass 
the CDI 1.1/1.2 CTS at all if the integrator creates its bean archives 
based on section 12.<br><br></div>I am guessing CDI 1.1/1.2 cts, the 
updated version of CDI 1.0(?),  is based on section 5. Can someone 
confirm? The spec needs to be updated to remove the conflict between 
section 5 and section 12.</span><div><div class="h5"><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Emily Jiang</b> <span dir="ltr">&lt;<a href="mailto:emijiang6@googlemail.com" target="_blank">emijiang6@googlemail.com</a>&gt;</span><br>Date: Sat, May 2, 2015 at 10:21 PM<br>Subject: Re: [cdi-dev] bean archives<br>To: Mark Struberg &lt;<a href="mailto:struberg@yahoo.de" target="_blank">struberg@yahoo.de</a>&gt;<br><br><br><div dir="ltr"><div>I agree with Mark. I am confused about section 5 and section 12. Weld-2 leaves the work of specifying the bean archive to the integrator. I am wondering how the new version of app server using Weld-2 can pass the CDI 1.1/1.2 CTS at all if the integrator creates its bean archives based on section 12.<br><br></div>I am guessing CDI 1.1/1.2 cts, the updated version of CDI 1.0(?),  is based on section 5. Can someone confirm? The spec needs to be updated to remove the conflict between section 5 and section 12.<br></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, May 2, 2015 at 3:47 PM, Mark Struberg <span dir="ltr">&lt;<a href="mailto:struberg@yahoo.de" target="_blank">struberg@yahoo.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,255);font-family:Helvetica Neue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:8px"><div dir="ltr">Actually the rules are still not clear. Section 5 and 12 contradict each other. The EE6 RI, JBossAS6 and TomEE and WAS did behave like in section 5 (1 BDA per ee-module) whereas Weld-2 behaves like in section 12. <br></div><div><br><span></span></div><div><span>LieGrue,</span></div><div><span>strub</span></div><div><div>  <br><div><br><br></div><div style="display:block"> <div style="font-family:Helvetica Neue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:8px"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div dir="ltr"> <font face="Arial" size="2"> On Saturday, 2 May 2015, 10:13, Antoine Sabot-Durand &lt;<a href="mailto:antoine@sabot-durand.net" target="_blank">antoine@sabot-durand.net</a>&gt; wrote:<br> </font> </div> <blockquote style="border-left:2px solid rgb(16,16,255);margin-left:5px;margin-top:5px;padding-left:5px">  <br><br> <div><div><div><div>Hi Emily,</div><div><br clear="none"></div><div>The rules) apply to each jar (archive). There is no merging, thus an app can contain three types of archives :</div><div>Non bean archives,</div><div>Implicit bean archives,</div><div>Explicit bean archives. <br clear="none"><br clear="none"><div>Antoine Sabot-Durand</div><div><br clear="none"></div></div><div><br clear="none">Le 1 mai 2015 à 23:03, Emily Jiang &lt;<a rel="nofollow" shape="rect" href="mailto:emijiang6@googlemail.com" target="_blank">emijiang6@googlemail.com</a>&gt; a écrit :<br clear="none"><br clear="none"></div><blockquote type="cite"><div><div dir="ltr"><div><div><br clear="all"></div>I have a question on bean archives. <br clear="none"><br clear="none"></div><div>For the jars under web-inf\lib, are they individual bean archives or they should be merged   with web-inf\classes files and use the beans.xml under web-inf\ to form one bean archive?<div><br clear="none"><br clear="none"></div></div><div><div>If they are merged together to form one bean archive, what will happen if they have their own beans.xml under Meta-inf dir?<br clear="none"></div><div><br clear="none"></div><div>Below is the what spec says, but it does not mention the jar under web-inf\lib. The spec should make this situation clear.<br clear="none"></div><div><br clear="none"></div>In the CDI1.2 spec:<br clear="none">When determining which archives are bean archives, the container must consider:<br clear="none">• Library jars, EJB jars or application client jars<br clear="none">• The WEB-INF/classes directory of a war<br clear="none">• Directories in the JVM classpath<br clear="none">The container is not required to support application client jar bean archives.<br clear="none">A Java EE container is required by the Java EE specification to support Java EE modules. Other<br clear="none">containers may or may not provide support for war, EJB jar or rar bean archives.<br clear="none">The beans.xml file must be named:<br clear="none">• META-INF/beans.xml , or,<br clear="none">• in a war, WEB-INF/beans.xml or WEB-INF/classes/META-INF/beans.xml.<br clear="none"><br clear="none"><br clear="none"><div><br clear="none"><div>-- <br clear="none"><div>Thanks<br clear="none">Emily<br clear="none">=================<br clear="none">Emily Jiang<br clear="none"><a rel="nofollow" shape="rect" href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a><br clear="none"></div>
</div></div></div></div><div>
</div></div></blockquote><div><blockquote type="cite"><div><span>_______________________________________________</span><br clear="none"><span>cdi-dev mailing list</span><br clear="none"><span><a rel="nofollow" shape="rect" href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a></span><br clear="none"><span><a rel="nofollow" shape="rect" href="https://lists.jboss.org/mailman/listinfo/cdi-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a></span><br clear="none"><span></span><br clear="none"><span>Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (<a rel="nofollow" shape="rect" href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.</span></div></blockquote></div></div></div><br><div>_______________________________________________<br clear="none">cdi-dev mailing list<br clear="none"><a shape="rect" href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a><br clear="none"><a shape="rect" href="https://lists.jboss.org/mailman/listinfo/cdi-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br clear="none"><br clear="none">Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (<a shape="rect" href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.</div><br><br></div> </blockquote>  </div> </div>   </div></div></div></div></div></blockquote></div><br><br clear="all"><br>-- <br><div>Thanks<br>Emily<br>=================<br>Emily Jiang<br><a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a><br></div>
</div>
</div></div></div><br><br clear="all"><br>-- <br><div>Thanks<br>Emily<br>=================<br>Emily Jiang<br><a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a><br></div>
</div></div></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">Thanks<br>Emily<br>=================<br>Emily Jiang<br><a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a><br></div>
</div>