自动更新tomcat应用程序

时间:2017-01-03 09:42:11

标签: java tomcat war

我正在寻找自动更新tomcat服务器上安装的应用程序的解决方案。

我编码的应用程序应该在公共服务器上有更新版本时自行更新。 重要的是要说客户端将war文件安装在自己的服务器上。

如果不要求客户端创建一个由cron任务调用的程序来更新war文件(如果需要),我怎么能这样做呢?

目标是所有客户端都使用相同版本的应用程序。

2 个答案:

答案 0 :(得分:1)

如果已经安装了manager应用程序,您可以在应用程序中执行此操作。只需编写一个定期过程(例如Quartz,或用Java编写自己的穷人的cron),将中央服务器用于更新。

如果您的更新服务器足够智能,您应该能够只使用HTTP GET标头发出If-Modified-Since请求,这样您就可以获得304 Not Modified响应或您将获得带有更新的WAR文件的200 OK。如果你得到304,什么都不做。

如果找到更新,请下载更新的WAR文件(内存或流式传输),同时连接到manager应用程序deploy the new version

答案 1 :(得分:0)

在我看来,你可以有一个守护程序线程[java程序将成为应用程序的一部分]运行以检查来自repo的更新版本。一旦可用,线程程序就可以获取最新版本。然后通过覆盖现有应用程序来安装最新的应用程序。重新加载应用程序上下文。