0

我正在将我的 4.2.2 JBoss 应用程序迁移到 7.1.1。我的大部分工作都在工作,但是当我的 WAR 文件在它用于数据库访问的 EAR 文件之前加载时,我偶尔会遇到错误。

我目前正在通过将 WAR 放在部署目录的子目录中来延迟 WAR 的加载,但这似乎是一个混乱。

我尝试将 EAR 文件作为模块放入,他们通过放置在战争中的 jboss-deployment-structure.xml 文件使 WAR 依赖它。这似乎加载得很好,但是数据库访问没有被推动。

我尝试将耳朵添加到 WAR 清单中的依赖项标记中,但也不起作用。

有一个更好的方法吗?

4

1 回答 1

0

是的。利用<initialize-in-order>true</initialize-in-order>

在 application.xml 中:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  version="6" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd">

  <application-name>sampleapp</application-name>
  <initialize-in-order>true</initialize-in-order>
  <module>
    <ejb>some-ejb.jar</ejb>
  </module>
  <module>
    <web>
      <web-uri>some-web-app.war</web-uri>
      <context-root>test</context-root>
    </web>
  </module>
</application>

然后您在 application.xml 中指定的订单将被兑现。

可以通过 maven ear 插件获得

于 2013-04-15T19:20:15.430 回答