3

我一直在寻找一种以编程方式让部署自行停止的方法。

对于我们的用例,我们部署了多个耳朵,其中一个是最重要的,而其他的则依赖于它。我们确保重要的耳朵首先部署,然后其他耳朵开始并行部署。

我们面临的问题是重要的耳朵可以处于升级模式,这是有效的。

在之后启动的耳朵里,我们检查运行模式,当它不正常时,我们抛出一个RuntimeException。对每个 ear 部署的检查都发生在 Singleton Startup EJB3 Bean 中。但是当这些抛出 RuntimeException 时,部署仍然处于活动状态。我想通知容器部署应标记为失败。这样的事情可能吗?

我们使用的技术有:Wildfly 10、Java-ee 7、EJB3。

我在 stackoverflow 上找到了一个解决方案,它使用命令行 CLI 来停止部署。部署可以自行停止吗?在我看来,应该可以在源代码本身中做到这一点。

有什么想法吗?

4

1 回答 1

0

在我看来,部署不能自行停止,这听起来很合乎逻辑。如果可以,应用程序应该在哪里报告它已成功取消部署?到一个不再存在的应用程序?在我看来,使用 CLI 的选项是您所拥有的最佳解决方法。

附带说明:为什么要使用多个 EAR?一个 EAR 可以包含多个 WAR 和 EJB,因此无需拥有多个 EAR。此外,几乎所有项目都可以使用简单的 WAR,我已经很多年没有使用 EAR 了。

于 2015-12-01T15:23:38.863 回答