Tomcat

Tomcat Parallel Deployment,自動解除安裝舊應用

  • January 27, 2016

一段時間以來,我一直在使用 Tomcat 8 的並行部署作為零停機持續部署設置的一部分。

執行測試挑戰後,CI 伺服器會自動將 .war 文件重命名為 application##{version-number}.war 並將 war 複製到 /webapp 文件夾。application##333 將與 application##332 很好地共存。

我遇到的唯一問題是,一旦所有流量(新會話)自動轉換到新應用程序,我必須手動取消部署舊應用程序。

Tomcat 是否有一些內置機制可以說“嘿,當這個服務降到零會話時,它應該被刪除”?也許我可以利用某種“最後一個會話剛剛過期”事件。

如果其他人已經自動化了這種應用程序的取消部署,我很想听聽。謝謝!

您可以配置 Tomcat 以刪除舊應用程序。您需要將undeployOldVersions屬性添加到Host元素並將其設置為true. 您需要將 server.xml 中的主機修改為以下內容:

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

有關詳細資訊,請參閱主機文件。特別是,這僅在啟用自動部署時才有效。

引用自:https://serverfault.com/questions/751957