Hi all !<br>talking about Classloading docs, I&#39;ve noticed an issue when defining new deployments with jboss-deployment-structure.xml. <br><br>For example: I&#39;m re-exporting the org.apache.log4j container module into a new module (deployment.mylog4j) excluding the package org/apache/log4j/chainsaw which is loaded somewhere else through a dependency.<br>
<br> &lt;module name=&quot;deployment.mylog4j&quot; &gt;<br>    &lt;resource-roots&gt;<br>     &lt;resource-root path=&quot;log4j-1.2.16.jar&quot; &gt;<br>       &lt;filters&gt;<br>         &lt;exclude path=&quot;org/apache/log4j/chainsaw&quot; /&gt;<br>
       &lt;/filters&gt;<br>     &lt;/resource-root&gt;<br>    &lt;/resource-roots&gt;<br>  &lt;/module&gt;<br><br>The AS reports:<br><br>eam.XMLStreamException: ParseError at [row,col]:[34,5]<br>Message: Unexpected content of type &#39;element start&#39; named &#39;resource-roots&#39;<br>
        at org.jboss.as.server.deployment.module.DeploymentStructureDescriptorParser.unexpectedContent(DeploymentStructureDescriptorParser.java:483)<br>        at org.jboss.as.server.deployment.module.DeploymentStructureDescriptorParser.parseModuleStructureSpec(DeploymentStructureDescriptorParser.java:695)<br>
        at org.jboss.as.server.deployment.module.DeploymentStructureDescriptorParser.parseModule(DeploymentStructureDescriptorParser.java:660)<br>        at org.jboss.as.server.deployment.module.DeploymentStructureDescriptorParser.parseStructureContents(DeploymentStructureDescriptorParser.java:581)<br>
        at org.jboss.as.server.deployment.module.DeploymentStructureDescriptorParser.parseDocument(DeploymentStructureDescriptorParser.java:510)<br>        at org.jboss.as.server.deployment.module.DeploymentStructureDescriptorParser.parse(DeploymentStructureDescriptorParser.java:396)<br>
<div class="gmail_quote"><br><br>Is it an issue with documentation or with .xsd ?? <br>Thanks<br>kind regards<br>Francesco<br>2011/7/19 Jaikiran Pai <span dir="ltr">&lt;<a href="mailto:jpai@redhat.com">jpai@redhat.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">The document has been updated<br>
<a href="https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7" target="_blank">https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7</a>. Thanks<br>
for pointing out the discrepancy and let us know if there are any more<br>
changes that you would like to see.<br>
<font color="#888888"><br>
-Jaikiran<br>
</font><div><div></div><div class="h5">On Tuesday 19 July 2011 10:28 AM, Jaikiran Pai wrote:<br>
&gt; Sure, will do.<br>
&gt;<br>
&gt; -Jaikiran<br>
&gt; On Tuesday 19 July 2011 10:25 AM, Vimal Kansal wrote:<br>
&gt;&gt; Thanks a lot Jaikiran. Also can you please elaborating/rephrasing the<br>
&gt;&gt; content in doco using the descriprion from .xsd, I think the one in .xsd<br>
&gt;&gt; is more clear.<br>
&gt;&gt;<br>
&gt;&gt; On 19/07/2011 2:47 PM, Jaikiran Pai wrote:<br>
&gt;&gt;&gt; That looks like a typo in that Classloading doc. The jboss-ee.xsd is<br>
&gt;&gt;&gt; correct. I&#39;ll fix the doc later today when I&#39;ve fully woken up.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; -Jaikiran<br>
&gt;&gt;&gt; On Tuesday 19 July 2011 10:11 AM, Vimal Kansal wrote:<br>
&gt;&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; It appears that EAR classloading documentation at<br>
&gt;&gt;&gt;&gt; <a href="https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7" target="_blank">https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7</a> is in<br>
&gt;&gt;&gt;&gt; contradiction with what &quot;jboss-ee.xsd describes :<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; AS7 Doc version<br>
&gt;&gt;&gt;&gt; ==============<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &lt;subsystem xmlns=&quot;urn:jboss:domain:ee:1.0&quot;&gt;<br>
&gt;&gt;&gt;&gt; &lt;ear-subdeployments-isolated&gt;false&lt;/ear-subdeployments-isolated&gt;<br>
&gt;&gt;&gt;&gt; &lt;/subsystem&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; By default this is set to true, which means that sub deployments will be<br>
&gt;&gt;&gt;&gt; able to see other non-war sub-deployments classes by default (i.e. a war<br>
&gt;&gt;&gt;&gt; deployment&#39;s module will have a dependency on all other ejb-jar<br>
&gt;&gt;&gt;&gt; sub-deployments, however it will not have a module dependency on any<br>
&gt;&gt;&gt;&gt; other war deployments).<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; If this is set to false then no automatic dependencies are set up, they<br>
&gt;&gt;&gt;&gt; must be setup manually with Class-Path entries, or by setting up<br>
&gt;&gt;&gt;&gt; explicit module dependencies. This means that WARs (and other EJB jars)<br>
&gt;&gt;&gt;&gt; do not have access to classes defined in an EJB jar unless an explicit<br>
&gt;&gt;&gt;&gt; dependency is defined. The Java EE specification says that portable<br>
&gt;&gt;&gt;&gt; applications should not rely on sub deployments having access to other<br>
&gt;&gt;&gt;&gt; sub deployments that they do not have a Class-Path entry on, so portable<br>
&gt;&gt;&gt;&gt; applications should always use Class-Path entry&#39;s to explicitly state<br>
&gt;&gt;&gt;&gt; their dependencies.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; jboss-ee.xsd version<br>
&gt;&gt;&gt;&gt; ==================<br>
&gt;&gt;&gt;&gt; Flag indicating whether each of the subdeployments within a .ear can<br>
&gt;&gt;&gt;&gt; access classes belonging to<br>
&gt;&gt;&gt;&gt;                          another subdeployment within the same .ear. Setting<br>
&gt;&gt;&gt;&gt; this to false, allows the subdeployments to<br>
&gt;&gt;&gt;&gt;                          see classes belonging to other subdeployments<br>
&gt;&gt;&gt;&gt; within the .ear.<br>
&gt;&gt;&gt;&gt;                          For example:<br>
&gt;&gt;&gt;&gt;                          myapp.ear<br>
&gt;&gt;&gt;&gt;                           |<br>
&gt;&gt;&gt;&gt;                           |--- web.war<br>
&gt;&gt;&gt;&gt;                           |<br>
&gt;&gt;&gt;&gt;                           |--- ejb1.jar<br>
&gt;&gt;&gt;&gt;                           |<br>
&gt;&gt;&gt;&gt;                           |--- ejb2.jar<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;                          If the ear-subdeployments-isolated is set to false,<br>
&gt;&gt;&gt;&gt; then the classes in web.war can access classes<br>
&gt;&gt;&gt;&gt;                          belonging to ejb1.jar and ejb2.jar. Similarly,<br>
&gt;&gt;&gt;&gt; classes from ejb1.jar can access classes from ejb2.jar<br>
&gt;&gt;&gt;&gt;                          (and vice-versa).<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;                          *Note that this flag, has no effect on the isolated<br>
&gt;&gt;&gt;&gt; classloader of the .war file(s). i.e. irrespective<br>
&gt;&gt;&gt;&gt;                          of whether this flag is set to true or false, the<br>
&gt;&gt;&gt;&gt; .war within a .ear will have a isolated classloader<br>
&gt;&gt;&gt;&gt;                          and other subdeployments within that .ear will not<br>
&gt;&gt;&gt;&gt; be able to access classes from that .war. This is<br>
&gt;&gt;&gt;&gt;                          as per spec*<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Thx<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Vimal<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; jboss-as7-dev mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:jboss-as7-dev@lists.jboss.org">jboss-as7-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/jboss-as7-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/jboss-as7-dev</a><br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; jboss-as7-dev mailing list<br>
&gt;&gt;&gt; <a href="mailto:jboss-as7-dev@lists.jboss.org">jboss-as7-dev@lists.jboss.org</a><br>
&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/jboss-as7-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/jboss-as7-dev</a><br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; jboss-as7-dev mailing list<br>
&gt;&gt; <a href="mailto:jboss-as7-dev@lists.jboss.org">jboss-as7-dev@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/jboss-as7-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/jboss-as7-dev</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; jboss-as7-dev mailing list<br>
&gt; <a href="mailto:jboss-as7-dev@lists.jboss.org">jboss-as7-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/jboss-as7-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/jboss-as7-dev</a><br>
<br>
_______________________________________________<br>
jboss-as7-dev mailing list<br>
<a href="mailto:jboss-as7-dev@lists.jboss.org">jboss-as7-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/jboss-as7-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/jboss-as7-dev</a><br>
</div></div></blockquote></div><br>