gpt4 book ai didi

java - 网络应用程序自动安装

转载 作者:行者123 更新时间:2023-12-02 05:10:09 25 4
gpt4 key购买 nike

我需要自动安装/更新在 JBoss 6 上运行的 Web 应用程序。

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

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

谢谢克里斯托夫

最佳答案

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

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

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

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

如果无法使用这种技术,您将不得不依赖外部工具来完成工作。通常,此类工具需要大量资源集成(有时跨多台机器)。在这种情况下,通常会应用 Enterprise Job Scheduler 或工作流引擎(带有您自己编写的适配器)来解决手头的问题。

关于java - 网络应用程序自动安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6472814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com