gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 10:33:34 26 4
gpt4 key购买 nike

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

事情是在关闭时,我需要在 myEar.ear 之后取消部署 myWar1.war,但实际结果是 myEar.ear 最后被取消部署,由于依赖性导致关闭时日志中出现错误。

我已经尝试通过 jboss-deployment-structure.xmlmyWar1.war/WEB-INF/jboss-all.xml< 声明这场 war 的依赖关系。以下是示例:

myWar1.war/WEB-INF/jboss-deployment-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-all.xml 正在被 JBoss 读取和解析,但是它对 EAR 上依赖的 WAR 的卸载顺序没有影响。 (我想这不是预期的行为,如 HERE 所述。)

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

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

standalone-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,或者我缺少一些配置?

最佳答案

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

通常 JBoss 的命令行命令(查找 JBoss CLI)用于处理启动、部署和关闭,但 CLI 并不意味着可以从您的程序代码中调用。有一个称为管理 API 的并行 API,用于管理接口(interface),它具有关闭/启动功能,并且可以从您的代码中调用。

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

关于java - jboss-all.xml 未考虑 JBoss EAP 6.4(不工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42147652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com