JBoss部署无需重启服务器

时间:2010-12-06 22:59:27

标签: java jboss cluster-computing hotdeploy

我在软件部署方面遇到了问题。我们正在使用JBoss 4.2.3。

请让我解释一下我现在正在进行的典型手动部署过程:

  1. 将EAR,WAR和JAR复制到服务器。
  2. 停止服务器。
  3. 复制EAR,WAR和JAR以部署文件夹。
  4. 运行数据库更新脚本。
  5. 启动服务器。
  6. 我一直在寻找避免服务器重启的方法。因为它造成了很多问题和很多不便。例如,我必须将电子邮件发送到一个大清单,以便安排服务器停机。

    另一个问题是,我们有2台服务器通过SOAP远程通信,如果一台服务器出现故障,可能会导致一些数据同步问题。

    热门部署并不适合我。有时我会遇到类加载器异常,有时会缓存问题。

    我正在考虑群集,但不太确定它是否会起作用。

    有没有人有类似的经历?任何解决方案或建议?

    非常感谢提前。

    P.S。我应该在serverfault而不是stackoverflow上发布这个吗? (我更喜欢这里,因为我是开发人员:)。

1 个答案:

答案 0 :(得分:3)

如果热部署对您不起作用,并且重启不是一个选项,那么我可以建议的另一件事就是使用故障转移进行集群 - 运行两个服务器而不是一个服务器,SOAP请求在它们之间进行负载均衡两个。当您需要执行升级时,关闭一台服务器,升级,启动它,关闭第二台服务器,升级它,然后重新启动它。

如果你做对了(这很棘手但可行),那么你没有停机时间。您必须确保服务器在滚动升级期间可以共存,并确保您的数据库升级向后兼容,但这一切都可以实现。