如何在 Wildfly 中设置两只耳朵的部署顺序
Posted
技术标签:
【中文标题】如何在 Wildfly 中设置两只耳朵的部署顺序【英文标题】:How to set deployment order of two ears in Wildfly 【发布时间】:2014-10-25 16:34:05 【问题描述】:关于 Wildfly 8.1 中两个应用程序的部署顺序,我遇到了一些问题。
问题是app2.ear
的一些模块依赖于app1.ear
的模块,但是app1.ear
是在app2.ear
之后部署的。
我尝试为 app1 指定一个依赖项,如下所示:
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<deployment>
<dependencies>
<module name="app2.ear" />
</dependencies>
</deployment>
</jboss-deployment-structure>
但运气不好,app1.ear
部署失败并出现此错误:
"JBAS014671: 失败的服务" ... 原因:org.jboss.modules.ModuleNotFoundException: app2.ear:main"
知道是否可能以及如何添加它?
提前致谢。
【问题讨论】:
【参考方案1】:在META-INF/jboss-all.xml
中指定依赖关系。
所以对于您的app2.ear
,它可能看起来像:
<jboss xmlns="urn:jboss:1.0">
<jboss-deployment-dependencies xmlns="urn:jboss:deployment-dependencies:1.0">
<dependency name="app1.ear" />
</jboss-deployment-dependencies>
</jboss>
【讨论】:
谢谢,它工作得很好。我在想这种方法适用于以前的 Jboss 版本。 对于那些在这里寻找解决方案的人来说,知道耳朵期望其资源位于src/main/application
而不是src/main/resources
可能很有用!因此,您应该将您的jboss-all.xml
放入src/main/application
。
希望有人能看看这个老帖子。这个 jboss-all 是否指定了必要性或依赖性?即依赖关系是否需要存在,或者存在并被部署?依赖项会等待它先部署吗?
如果我没记错的话,当 app1.ear 尚未部署时,app2 部署将失败。以上是关于如何在 Wildfly 中设置两只耳朵的部署顺序的主要内容,如果未能解决你的问题,请参考以下文章
如何在 WildFly 中配置 EJB WebServices(入耳式)