2009-11-03 101 views
0

我有一個包含4個war文件的ear文件。我們把它們放在一起的主要原因是,啓動順序非常重要,從部署的角度來看更簡單(客戶只需獲取一個文件,不必擔心哪些版本可以一起工作)。如何禁止配置EAR文件內WAR文件的啓動?

ear文件將被部署在4個不同的系統上,這些系統有點不同,所以在兩個服務器上,一個war應用程序甚至不需要啓動。

運行時環境是JBOSS 4.2.2。

因此我的問題是:如果我想通過properties-service.xml中定義的屬性來配置它,我有什麼選擇來防止war文件被啓動?

另一個選擇,因爲應用程序實際上是彈簧應用程序,將阻止啓動ContextLoaderListener,但在這裏我也沒有任何想法如何通過配置來實現這一點。

回答

1

WAR文件,這些文件嵌入在EAR文件,除非它們被定義爲在EAR的application.xml部署描述符模塊不部署Web應用程序。如果您使用的是JBoss特定的部署描述符而不是J2EE標準描述符,則必須改變那裏的配置。

1

可以在META-INF /添加列表戰爭的application.xml

<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5"> 

    <module> 
    <web> 
     <web-uri>war1.war</web-uri> 
     <context-root>/war1</context-root> 
    </web> 
    </module> 
    <module> 
    <web> 
     <web-uri>war2.war</web-uri> 
     <context-root>/war2</context-root> 
    </web> 
    </module> 


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

</application> 

在未使用的戰爭Spring上下文不上手。每場戰爭你都會得到一個春天的應用場景。 (除非你使用共享上下文)

相關問題