2009-11-03 65 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上下文不上手。每场战争你都会得到一个春天的应用场景。 (除非你使用共享上下文)