Tomcat

如果 Root 上下文初始化失敗,自動停止 Tomcat

  • December 2, 2014

我似乎無法弄清楚是否可以將 Tomcat 設置為在 ROOT 上下文初始化失敗時停止。由於我的 Tomcat 實例僅託管一個應用程序作為 ROOT 上下文,因此如果此 webapp 的初始化失敗,讓 Tomcat 保持在空閒狀態執行是沒有意義的。

我知道這不是最佳做法,例如基於 Spring Boot 的微服務架構提供了開箱即用的功能,但我們現在不能遷移到 Spring Boot。但是我需要某種自動故障處理,因為我們正在捆綁到 Docker 映像中,如果該容器內發生致命的事情(容器退出),我希望在容器級別上看到它。

我找到了一個優雅的解決方案。由於我們使用maestro-ng來編排 Docker 容器,我們可以使用它的生命週期檢查來等待 Web 服務的已知端點返回 HTTP 200 OK,然後再繼續下一個容器。如果從未滿足此條件,我們可以安全地假設出現問題。

您可以在 crontab 中解析日誌(並查找特定的根初始化),然後停止服務或發送電子郵件。安全且易於實施。

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