<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'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'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"><<a href="mailto:emijiang6@googlemail.com" target="_blank">emijiang6@googlemail.com</a>></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"><<a href="mailto:emijiang6@googlemail.com" target="_blank">emijiang6@googlemail.com</a>></span><br>Date: Sat, May 2, 2015 at 10:21 PM<br>Subject: Re: [cdi-dev] bean archives<br>To: Mark Struberg <<a href="mailto:struberg@yahoo.de" target="_blank">struberg@yahoo.de</a>><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"><<a href="mailto:struberg@yahoo.de" target="_blank">struberg@yahoo.de</a>></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 <<a href="mailto:antoine@sabot-durand.net" target="_blank">antoine@sabot-durand.net</a>> 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 <<a rel="nofollow" shape="rect" href="mailto:emijiang6@googlemail.com" target="_blank">emijiang6@googlemail.com</a>> 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>