2014-03-30 61 views
1

當我們嘗試部署我們的.EAR文件(wildfly-8.0.0Final)時,我們遇到依賴關係問題。 以下您可以找到.EAR,application.xml & standalone.xml文件的結構詳細信息。.EAR部署順序wildfly-8.0.0Final

儘管設置爲將初始化順序設置爲TRUE,但它似乎不遵循順序,從而導致依賴性問題。我們嘗試使用ear-subdeployments-isolated設置爲true和false。

關於如何控制訂單或任何其他建議的任何想法?

我們發現了一些帖子(即使用嚴格),但看起來像是舊版本(JBOSS 4.0)。

感謝您的幫助!

+ MMM-app.ear
| ------------ LIB(公地LIB)
| ------------ infraestrutura核心。 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> 

回答

0

究竟是什麼問題?是否有堆棧跟蹤或類似的東西?如果你想確保你的耳朵的罐子和戰爭在一個特殊的順序加載,你可以嘗試從一個jar添加explicite依賴對方,...

但隨後的問題是,爲什麼這個特殊的順序是必須的。

+0

適用於你的評論。 WARfile1對WARfile0具有依賴性。所以如果首先部署WARfile1,我們會收到錯誤。我的理解是,在ear-subdeployments-isolated = TRUE否的情況下,顯式模塊依賴關係應該是usd?我們假設它爲FALSE – Hardane

+0

當然,如果您將子部署的隔離級別設置爲false,那麼您將不需要依賴於同一耳朵的其他子部署以使用它。但我認爲不能保證EAR1負載EAR0後,在這種情況下,因爲JBoss的不字節碼/調用堆棧分析,以確定正確的順序。但是,這是奇怪的行爲。請發佈日誌以作進一步分析。 – shillner

+0

我們只試圖部署1個EAR文件。隔離被設置爲false,但我們仍然收到錯誤。問題是.EAR文件野蠻部署有時是成功的,有時不成功,服務器根本無法完成部署過程。該日誌啓用包級別的調試,但不顯示任何錯誤。 我不知道確切原因,但它的發生是因爲EJB的罐子和戰爭文件不是爲了裝入耳。我有兩個server.log文件。部署成功發生時的第一個日誌文件,以及發生故障時的第二個日誌文件。有什麼想法嗎? – Hardane

0

正如已經張貼在上面的評論:

嘗試增加只具有暗指的依賴個別子部署之間的依賴關係。我認爲這會產生一個可靠的確定性裝貨單。

+0

如何設置子部署之間的顯式依賴? –