如何在 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 中设置两只耳朵的部署顺序的主要内容,如果未能解决你的问题,请参考以下文章

在R中设置两条指令之间的延迟[重复]

如何在 WildFly 中配置 EJB WebServices(入耳式)

有啥方法可以将属性文件保留在 WildFly 的耳朵/罐子和模块之外

在 wildfly 中即时创建文件链接

在Jboss 8 Wildfly中设置默认地址

求一篇关于小猫特点的作文,如:眼睛,皮毛,耳朵,颜色,动作各方面描写。