是否在ear文件本身(jboss-app.xml)或服务器上的配置中有一个机制,以确保最后和/或在另一只耳朵之后加载EAR?例如
类似的东西:
<load-precedence>
web-services.ear
enterprise-app.ear
</load-precedence>
答案 0 :(得分:3)
如果有的话会很方便;我不知道一个。我们的EAR依赖于其他EAR。我们的启动代码在一个线程中运行并重新尝试一段时间,直到另一个EAR中的EJB可用。
答案 1 :(得分:2)
答案 2 :(得分:1)
我在conf/bootstrap/deployers.xml
中使用EAR后缀配置顺序。该值的范围为50(首先开始)和950(最后开始),请参阅LegacyDeploymentContextComparator class。在你的情况下,你会得到:
<bean name="topContextComparator">
<constructor factoryClass="org.jboss.system.deployers.LegacyDeploymentContextComparator" factoryMethod="getInstance"/>
<property name="suffixOrder" class="java.util.Map">
<map keyClass="java.lang.String" valueClass="java.lang.Integer">
<entry>
<key>web-services.ear</key>
<value>500</value>
</entry>
<entry>
<key>enterprise-app.ear</key>
<value>600</value>
</entry>
</map>
</property>
</bean>
我还使用通用后缀配置,例如_<N>.ear
,其中<N>
是起始顺序。这样可以避免每次部署新EAR时更改deployers.xml
文件。这在部署版本化的EAR(例如MyEar_v20130611_3.ear
时很有用(在这种情况下N = 3):
<entry>
<key>_1.ear</key>
<value>500</value>
</entry>
<entry>
<key>_2.ear</key>
<value>600</value>
</entry>
<entry>
<key>_3.ear</key>
<value>700</value>
</entry>