JBoss - 具有多个依赖项的热部署 EJB

JBoss - 具有多个依赖项的热部署 EJB

我们想要部署一个新版本的 EJB,但问题是有多个 EJB 和 WAR 依赖于该 EJB。因此,我们每次都必须重新启动服务器,以确保每个 EJB/WAR 都正常运行。

这里的主要困难是依赖项的数量太多,因此每次部署具有多个依赖项的 EJB 的较新版本时启用/禁用每个应用程序的工作量太大,重新启动服务器对我们来说更快、更安全。

我们正在尝试找出如何避免环境停机的方法。我们需要一直在线,而要实现这一点,重启服务器并不是一个可行的解决方案。

我们正在使用 JBoss EAP 6.3。

哪种方法适合应用于这些情况?

答案1

Radoslav Husar 解释道讨论如何以最少的停机时间解决生产环境中的部署问题。

在独立 JBoss/WildFly 上执行此操作的方法是:

  1. 启动新的 AS 节点,部署新版本的应用程序
  2. 进入mod_cluster管理控制台,禁用旧版本的上下文
  3. 清除旧版本应用程序的所有会话
  4. 删除旧实例

如果您已经在 HA 模式下运行并且会话数据通过新旧版本的应用程序兼容:

  1. 从第一个集群节点耗尽会话
  2. 升级应用程序,带回节点
  3. 对所有服务器重复此操作

如果您正在运行 HA 模式但会话数据不兼容:

  1. 与上述相同,不同之处在于服务器被添加回具有不同负载平衡组的不同集群,以便会话数据不会发生冲突。

相关内容