Tomcat有一个特性,可以在不停机的情况下部署新版本,并优雅地取消部署旧版本(当旧客户端没有会话时)。
所有你需要开始使用这个功能是设置undeployOldVersions
为true并且有一个特殊格式的.war文件。
我的实验表明,它至少要等待10分钟(在没有流量的情况下)才能取消部署旧版本。这个超时是否可以在Tomcat设置中配置?
当所有使用旧版本的会话过期时,旧版本将被取消部署。
Tomcat会话的默认过期超时是30分钟,但这是每个应用程序可配置的。例如,你可以加上:
<session-config>
<session-timeout>10</session-timeout>
</session-config>
将会话的默认超时时间减少到10分钟。此值也可以在应用程序的代码中全局设置或在每个会话级别上设置。