JBoss EAR部署顺序 [英] JBoss EAR deployment order

查看:180
本文介绍了JBoss EAR部署顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有5个需要部署的EAR.其中一个local-configuration-ear-0.3.5-SNAPSHOT.ear是所有其他项的依赖项,它们在部署时需要它,即local-configuration-ear-0.3.5-SNAPSHOT.ear首先需要部署.所有5个EAR都位于deployments文件夹中.

I have 5 EARs that need to be deployed. One of them, local-configuration-ear-0.3.5-SNAPSHOT.ear, is a dependency of all the others, and they require it at deployment time, i.e. local-configuration-ear-0.3.5-SNAPSHOT.ear needs to be deployed first. All 5 of the EARs are located in the deployments folder.

我阅读了此处,使用jboss-deployment-structure.xml来管理EAR部署的顺序,但是遇到了一些问题. 我制作的文件如下所示:

I read here that I can use jboss-deployment-structure.xml to manage the order of EAR deployment, but I ran into some issues. The file I made looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
   <deployment>
       <dependencies>
           <module name="deployment.local-configuration-ear-0.3.5-SNAPSHOT.ear" />
       </dependencies>
   </deployment>
</jboss-deployment-structure>

但是在使用此描述符部署EAR之后,我收到以下错误:

but after deploying the EAR with this descriptor, I received the following error:

15:01:29,752 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.module.service."deployment.asterix-connector-ear-0.3.5-SNAPSHOT.ear".main: org.jboss.msc.service.StartException in s ervice jboss.module.service."deployment.asterix-connector-ear-0.3.5-SNAPSHOT.ear".main: Failed to load module: deployment.asterix-connector-ear-0.3.5-SNAPSHOT.ear:main
    at org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:91) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) [rt.jar:1.6.0_24]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.6.0_24]
    at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24]
Caused by: org.jboss.modules.ModuleNotFoundException: deployment.local-configuration-ear-0.3.5-SNAPSHOT:main
    at org.jboss.modules.Module.addPaths(Module.java:854)
    at org.jboss.modules.Module.link(Module.java:1181)
    at org.jboss.modules.Module.relink(Module.java:1211)
    at org.jboss.modules.ModuleLoader.relink(ModuleLoader.java:445)
    at org.jboss.as.server.moduleservice.ServiceModuleLoader.relinkModule(ServiceModuleLoader.java:204) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:71) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 5 more

我在做什么错,有没有办法使用Maven生成jboss-deployment-structure.xml,以便可以以编程方式将版本号附加到EAR文件名?

What am I doing wrong and is there a way to generate jboss-deployment-structure.xml using Maven so that I can append a version number to my EAR file name programatically?

编辑:

我还尝试将jboss-all.xml文件添加到META-INF,但这没有帮助:

I also tried adding a jboss-all.xml file to META-INF, but it didn't help:

<jboss umlns="urn:jboss:1.0">
    <jboss-deployment-dependencies xmlns="urn:jboss:deployment-dependencies:1.0">
        <dependency name="local-configuration-ear-${project.version}.ear" />
    </jboss-deployment-dependencies>
</jboss>

-在maven-ear-plugin配置中带有<filtering>true</filtering>.我检查了EAR归档文件,并正确设置了项目版本,但有时仍会以不正确的顺序部署工件.

-with <filtering>true</filtering> in the maven-ear-plugin configuration. I checked inside the EAR archive, and the project version is set correctly, but the artefacts are still sometimes deployed in the incorrect order.

推荐答案

该链接描述了如何在EAR内部而不是在两只耳朵之间进行部署顺序.

That link describes how to do deployment order inside EAR not between two ears.

您应该使用部署依赖项来配置jboss-all.xml.

You should be configuring jboss-all.xml with deployment dependencies.

内容应如下所示:

<jboss umlns="urn:jboss:1.0">
    <jboss-deployment-dependencies xmlns="urn:jboss:deployment-dependencies:1.0">
        <dependency name="app1.ear" />
        <dependency name="app2.ear" />
        <dependency name="app3.ear" />
    </jboss-deployment-dependencies>
</jboss>

并将其添加到您的所有耳朵中,但请确保您不进行循环探查.

and add this to all your ears but make sure you don't do cyclic deps.

这篇关于JBoss EAR部署顺序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆