我目前在Windows上使用Jetty 9.1.4。
当我在没有热部署配置的情况下部署war文件时,然后重新启动Jetty服务。在5-10秒的启动过程中,与Jetty服务器的所有客户端连接都在等待服务器完成加载。然后客户将能够查看内容。
现在打开热部署配置,默认的Jetty 404错误页面显示在5-10秒的加载间隔内。
无论如何,我可以让热部署与完全重启具有相同的行为 - 客户端连接将等待而不是看到404错误页面?
答案 0 :(得分:0)
不幸的是,在与IRC #jetty上的Jetty开发人员交谈之后,这似乎不可能。
我将尝试使用的一个解决方案是两个带有负载平衡反向代理(例如nginx)的Jetty实例,并将一个实例关闭以进行部署。
当然,这将立即导致需要处理的新要求(会话持久性/共享)。总而言之:在Java世界中要做很多工作,以便在部署时实现零停机。
编辑:我会尝试这个,看起来像一个简单的解决方案http://rafaelsteil.com/zero-downtime-deploy-script-for-jetty/ Github:https://github.com/rafaelsteil/jetty-zero-downtime-deploy