我正在将我的4.2.2 JBoss应用程序迁移到7.1.1。我的大部分都在工作,但是当我的WAR文件在用于数据库访问的EAR文件之前加载时,偶尔会出现错误。
我目前通过将WAR置于部署目录的子目录中来延迟WAR的负载,但这看起来像是一块垃圾。
我已经尝试将EAR文件作为模块放入,并且它们通过放置在战争中的jboss-deployment-structure.xml文件使WAR依赖它。这似乎加载正常,但数据库访问不会被推进。
我尝试将ear添加到WAR清单中的dependencies标记,但是也不起作用。
有更好的方法吗?
答案 0 :(得分: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中指定的顺序。