1
votes

We are having dependencies problem when we try to deploy our .EAR file (wildfly-8.0.0Final). Below you can find details of the structure of the .EAR, application.xml & standalone.xml files.

Despite setting initialize-in-order to TRUE it doesn't seem to follow the order, causing the dependencies problem. We have tried with ear-subdeployments-isolated set to both true and false.

Any ideas on how to control the order or any other suggestions?

We found some posts (i.e. using strict) but looks like it was for older versions (JBOSS 4.0).

THANKS MILLION FOR THE HELP!

+mmm-app.ear
|------------ lib (commons-lib)
|------------ infraestrutura-core.jar (ejb)
|------------ mmm-logistica.jar (ejb)
|------------ mmm-admin-core.jar (ejb)
|------------ mmm-financeiro-core.jar (ejb)
|------------ mmm-mobile-core.jar (ejb)
|------------ file1.war
|------------- file2.war
|-------------- file3.war
|--------------- file4.war

application.xml

<?xml version="1.0" encoding="UTF-8"?>

<application xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="7" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/application_7.xsd">
<initialize-in-order>true</initialize-in-order>

<display-name>mmm-package-app</display-name>

<!--A ordem correta de deployment deve ser a desse arquivo, mas com o attributo true ou false não funciona -->

<description>The MMM Deployment Application</description>

<module>
    <ejb>infraestrutura-core-1.0-SNAPSHOT.jar</ejb>
</module>

<module>
    <ejb>mmm-logistica-core-1.0-SNAPSHOT.jar</ejb>
</module>

<module>
    <ejb>mmm-financeiro-core-1.0-SNAPSHOT.jar</ejb>
</module>

<module>
    <ejb>mmm-admin-core-1.0-SNAPSHOT.jar</ejb>
</module>


<module>
    <ejb>mmm-mobile-core-1.0-SNAPSHOT.jar</ejb>
</module>


<module>
    <web>
        <web-uri>mmm-admin-client-1.0-SNAPSHOT.war</web-uri>
        <context-root>/admin</context-root>
    </web>
</module>


 <module>
    <web>
        <web-uri>mmm-site-client-1.0-SNAPSHOT.war</web-uri>
        <context-root>/beta</context-root>
    </web>
</module>


<module>
    <web>
        <web-uri>mmm-mobile-server-1.0-SNAPSHOT.war</web-uri>
        <context-root>/mobile</context-root>
    </web>
</module>



<module>
    <web>
        <web-uri>mmm-lp-client-1.0-SNAPSHOT.war</web-uri>
        <context-root>/</context-root>
    </web>
</module>

<library-directory>lib</library-directory>

standalone.xml

<subsystem xmlns="urn:jboss:domain:ee:2.0">
<ear-subdeployments-isolated>FALSE</ear-subdeployments-isolated>
<spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>
<jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
<annotation-property-replacement>false</annotation-property-replacement>
<concurrent>

jboss-deployment-structure.xml

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
 <ear-subdeployments-isolated>true</ear-subdeployments-isolated>
 <deployment>
  <dependencies>
   <module name="deployment.MMM-app-1.0-SNAPSHOT.ear" />
  </dependencies>
 </deployment>
 <sub-deployment name="MMM-admin-client-1.0-SNAPSHOT.war">
  <dependencies>
   <module
    name="deployment.MMM-app-1.0-SNAPSHOT.ear.infraestrutura-core-1.0-SNAPSHOT.jar" />
   <module
    name="deployment.MMM-app-1.0-SNAPSHOT.ear.MMM-logistica-core-1.0-SNAPSHOT.jar" />
   <module
    name="deployment.MMM-app-1.0-SNAPSHOT.ear.MMM-financeiro-core-1.0-SNAPSHOT.jar" />
  </dependencies>
 </sub-deployment>
 <sub-deployment name="MMM-site-client-1.0-SNAPSHOT.war">
  <dependencies>
   <module
    name="deployment.MMM-app-1.0-SNAPSHOT.ear.infraestrutura-core-1.0-SNAPSHOT.jar" />
   <module
    name="deployment.MMM-app-1.0-SNAPSHOT.ear.MMM-logistica-core-1.0-SNAPSHOT.jar" />
  </dependencies>
 </sub-deployment>
 <sub-deployment name="MMM-mobile-server-1.0-SNAPSHOT.war">
  <dependencies>
   <module
    name="deployment.MMM-app-1.0-SNAPSHOT.ear.infraestrutura-core-1.0-SNAPSHOT.jar" />
   <module
    name="deployment.MMM-app-1.0-SNAPSHOT.ear.MMM-mobile-core-1.0-SNAPSHOT.jar" />
  </dependencies>
 </sub-deployment>
 <sub-deployment name="MMM-lp-client-1.0-SNAPSHOT.war">
  <dependencies>
   <module
    name="deployment.MMM-app-1.0-SNAPSHOT.ear.infraestrutura-core-1.0-SNAPSHOT.jar" />

   <module
    name="deployment.MMM-app-1.0-SNAPSHOT.ear.MMM-logistica-core-1.0-SNAPSHOT.jar" />

   <module
    name="deployment.MMM-app-1.0-SNAPSHOT.ear.MMM-admin-core-1.0-SNAPSHOT.jar" />

   <module
    name="deployment.MMM-app-1.0-SNAPSHOT.ear.MMM-lp-core-1.0-SNAPSHOT.jar" />
  </dependencies>
 </sub-deployment>
</jboss-deployment-structure>
2
Can you please post server logs when you deploy the archive.Virendra Singh Rathore

2 Answers

0
votes

what exactly is the problem? Is there a stack trace or anything similar? If you want to ensure that the jars and wars of your ear are loaded in a special order, you could try to add explicite dependencies from one jar to each other, ...

But then the question is why this special order is required.

0
votes

As already posted in the comment above:

Try adding dependencies between the individual subdeployments that have only implicit dependencies. I think this will result in a deterministic loading order on which you can rely.