如何在ear文件中配置地禁止war文件的启动?

jgovgodb  于 2021-07-05  发布在  Java
关注(0)|答案(2)|浏览(325)

我有一个ear文件,其中包含4个war文件。我们把它们放在一起的主要原因是,启动顺序很重要,从部署的Angular 来看更容易(客户只得到一个文件,不必担心哪个版本可以一起工作)。
ear文件将被部署在4个不同的系统上,这是有点不同的,所以在其中两个服务器上,一个war应用甚至不需要启动。
运行时环境是JBoss4.2.2。
因此,我的问题是:如果我想通过properties-service.xml中定义的属性来配置war文件,那么我有哪些选项可以阻止war文件启动?
另一个选择,因为应用程序实际上是spring应用程序,会阻止启动contextloaderlistener,但是在这里我也不知道如何通过配置来做到这一点。

gywdnpxw

gywdnpxw1#

您可以在meta-inf/application.xml中添加war列表

<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上下文将不会开始。每次战争你都会得到一个spring应用上下文(除非使用共享上下文)

e5nszbig

e5nszbig2#

嵌入在ear文件中的war文件不会部署为web应用程序,除非它们在ear的application.xml部署描述符中定义为模块。如果您使用的是jboss特定的部署描述符,而不是j2ee标准描述符,那么您必须更改那里的配置。

相关问题