Java web应用程序自动安装

Java web应用程序自动安装,java,web-applications,jboss,installation,Java,Web Applications,Jboss,Installation,我需要在JBoss6上自动安装/更新web应用程序 我至少需要: *停止服务器 *将war复制到部署目录中 *应用数据库更新脚本 *启动服务器 你知道这方面的工具或开源项目吗 Thx Christophe大多数Servlet容器都能够在不停止服务器的情况下进行部署。有些人通过将WAR文件放到由web服务器轮询的特定目录中(如果配置正确)来实现,而另一些人则公开“上载”web API JBoss通常使用Tomcat作为其servlet容器。虽然我不知道您的JBoss版本使用的是哪个版本,但Tomc

我需要在JBoss6上自动安装/更新web应用程序

我至少需要: *停止服务器 *将war复制到部署目录中 *应用数据库更新脚本 *启动服务器

你知道这方面的工具或开源项目吗

Thx
Christophe

大多数Servlet容器都能够在不停止服务器的情况下进行部署。有些人通过将WAR文件放到由web服务器轮询的特定目录中(如果配置正确)来实现,而另一些人则公开“上载”web API

JBoss通常使用Tomcat作为其servlet容器。虽然我不知道您的JBoss版本使用的是哪个版本,但Tomcat很长一段时间以来一直支持在运行的服务器上部署。足以让您确定需要进行哪些更改(如果有)

如果确实需要停止服务器,Tomcat能够通过外部程序停止服务器(它只需要发送正确类型的消息);但是,一旦停止,Tomcat就无法收到“启动”消息,它必须手动启动

更好的解决方案是通过查看servlet生命周期事件来检测应用程序何时启动,然后在发生“首次启动”事件时“检查”数据库。如果数据库检测显示数据库与预期版本不匹配,请应用更改。在数据库检测显示数据库是最新的之后,然后开始正常的请求处理。这将以允许轻松部署和升级的方式隔离web应用程序中的代码,尽管这确实意味着在裁剪应用程序以封装其自身的数据库维护职责方面需要做更多的工作


如果不能选择这种技术,您将不得不依靠外部工具来完成工作。通常,这样的工具需要大量的资源集成(有时需要跨多台机器)。在这种情况下,通常会使用企业作业调度器或工作流引擎(带有您自己编写的适配器)来解决手头的问题。

有关信息,我们最终实现了自己的解决方案。基本上

  • 一个作业从FTP下载一个包含用Java编写的安装程序应用程序的ZIP文件
  • 解压后,安装程序运行。这一个执行SQL更新脚本,然后使用JBoss JMX API部署WAR文件。然而,对于JBoss集群支持,我们必须编写自己的MBean,以便在每个节点上复制WAR文件

  • 詹金斯这样做。我想知道你是如何利用它的。他们使用码头。感谢您抽出时间回答。事实上,我可以开发我的定制解决方案。我已经为集装箱管理研究了货物。但实际上我首先要寻找一个现有的解决方案;-)