【发布时间】:2019-09-13 23:54:18
【问题描述】:
您知道如何强制 WebSphere Liberty 按给定顺序启动 WAR(单独部署或在单个 EAR 文件中部署)。默认情况下,WLP 是并行启动它,并且没有关于如何调整它的信息。
我知道,在完整的 WebSphere Application Server 中,有 / 有这样的选项来定义 deployment.xml 中的起始权重,但在 WLP 中它似乎缺失了。
【问题讨论】:
-
开箱即用,不,没有办法强制应用启动排序。但是,有一些方法可以通过部署脚本来完成。你能再描述一下用例吗?我怀疑有更好的替代设计,它不需要应用按特定顺序出现。
-
我有两个应用程序在同一个数据库上工作。一个应用程序在启动时加载一些数据,第二个应用程序假设这些数据已经在 DB 上可用 - 这是我正在准备部署的客户的一种功能需求。
-
我已经在考虑准备这样的启动脚本,它将给定的 WAR 复制到 WLP 的“应用程序”文件夹中,等待启动,然后开始复制第二个应用程序并重复该过程。但它表现不佳(每次启动 serer 时都必须提取 WAR)。我也在考虑 MBeans——也许有一些用于启动应用程序的 API,在 server.xml 中将“autoStart”设置为“false”。但不幸的是,这个解决方案都不是清晰简单的。
-
也许您应该修改第二个应用程序以不假定数据已准备好并处理它需要等待它的可能性?看来即使可以让 app2 等待 app1 启动,app1 中的慢查询或数据库访问问题仍然会导致 app2 失败
标签: jakarta-ee war websphere-liberty ear