jboss-all.xml JBoss EAP 6.4未考虑(不工作)

时间:2017-02-09 21:58:12

标签: java maven jboss

我有一个JBoss EAP 6实例,它有几个部署(一个EAR和一些WAR):

关键是,在关机时,我需要在myWar1.war之后取消部署myEar.ear,但实际结果是最后取消部署myEar.ear,导致关机日志出错由于依赖。

我已经尝试通过jboss-deployment-structure.xmlmyWar1.war/WEB-INF/jboss-all.xml将这场战争的依赖性声明到耳边。以下是示例:

myWar1.war / WEB-INF / JBoss的部署-structure.xml

<dependencies>
    <module name="deployment.myEar.ear">
        <imports>
            <exclude path="***" />
        </imports>
    </module>
    <module name="javax.annotation.api" />
</dependencies>

myWar1.war / WEB-INF / JBoss的-all.xml

<?xml version="1.0" encoding="UTF-8"?>
<jboss umlns="urn:jboss:1.0">
    <jboss-deployment-dependencies xmlns="urn:jboss:deployment-dependencies:1.0">
        <dependency name="myEar.ear" />
    </jboss-deployment-dependencies>
</jboss>      

这些解决方案似乎都不起作用。虽然看起来JBoss正在读取和解析jboss-all.xml,但它对EAR上依赖WAR的取消部署顺序没有影响。 (我想这不是预期的行为,因为状态为HERE。)

所有WAR都通过JBoss CLI部署(然后服务器重新启动),但myEar.ear正在服务器/deployments内部爆炸,并且它也通过CLI添加为部署。以下是standalone-full.xml中的条目。

此外,WAR是一个SpringBoot应用程序,由Maven构建和打包。

独立-full.xml

<subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
    <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-enabled="false" scan-interval="5000"/>
</subsystem>
<deployments>
    . . .
    <deployment name="myWar1.war" runtime-name="myWar1.war">
         <content sha1="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
    </deployment>
    <deployment name="myEar" runtime-name="myEar.ear">
         <fs-exploded path="$JBOSS_HOME/standalone/deployments/myEar.ear"/>
    </deployment>
    . . .
</deployments>

关闭JBoss时,还有其他方法可以改变取消部署顺序吗?有没有办法让JBoss正确识别jboss-all.xml,或者我缺少一些配置?

1 个答案:

答案 0 :(得分:1)

在建立依赖关系后,jboss-all.xml中的部署依赖关系标记通常为referenced only for ensuring applications deploy(如示例中myear必须在mywar1部署之前部署)但不是关闭。

通常JBoss&#39;命令行命令(查找JBoss CLI)用于处理启动,部署和关闭,但不打算从程序代码中调用CLI。管理接口有一个名为Management API的并行api,它具有关闭/启动功能,可以从代码中调用。

AS7 Management API适用于JBoss EAP 6.x,最新的Wildfly版API也适用。只有wildfly api应该是API的最新页面,它列出了YMMV的启动/关闭程序。如果您使用wildfly引用遇到问题,则the wildfly API6.x/AS7 api如下。以下是Management Interface API programmatically.

的使用方法
相关问题