Tomcat 并行部署,自动取消部署旧应用程序

Tomcat 并行部署,自动取消部署旧应用程序

我一直在使用 Tomcat 8 的并行部署作为零停机持续部署设置的一部分。

当测试完成后,CI 服务器会自动将 .war 文件重命名为 application##{version-number}.war,并将 war 复制到 /webapp 文件夹。application##333 将与 application##332 很好地共存。

我遇到的唯一问题是,一旦所有流量(新会话)自动转换到新应用程序,我必须手动取消部署旧应用程序。

Tomcat 是否有一些内置机制来表示“嘿,当此服务的会话数降至零时,应该将其删除”?也许我可以利用某种“最后一个会话刚刚过期”事件。

如果有其他人能自动取消部署此类应用程序,我很乐意听听。谢谢!

答案1

您可以配置 Tomcat 以删除旧应用程序。您需要将属性添加undeployOldVersionsHost元素并将其设置为true。您需要将 server.xml 中的主机修改为以下内容:

<Host undeployOldVersions="true" ...>
   ...
</Host>

查看主机文档了解详情。特别是,这仅在启用自动部署时才有效。

相关内容