ルートコンテキストの初期化に失敗した場合、Tomcat を自動的に停止します。

ルートコンテキストの初期化に失敗した場合、Tomcat を自動的に停止します。

ROOT コンテキストの初期化に失敗したときに Tomcat を停止するように設定できるかどうかはわかりません。Tomcat インスタンスは ROOT コンテキストとして 1 つのアプリケーションのみをホストしているため、この Web アプリケーションの初期化に失敗した場合、Tomcat をアイドル状態で実行し続けるのは意味がありません。

これは最適な方法ではないことは承知しています。たとえば、Spring Boot ベースのマイクロサービス アーキテクチャでは、この機能がすぐに利用できますが、現時点では Spring Boot に移行できません。ただし、Docker イメージにバンドルしているため、何らかの自動障害処理が必要であり、そのコンテナー内で致命的な問題が発生した場合 (コンテナーが終了した場合) はコンテナー レベルでそれを確認したいと考えています。

答え1

crontab 内のログを解析し (特定のルート初期化を検索し)、サービスを停止するか電子メールを送信するものを用意できます。安全で実装が簡単です。

答え2

素晴らしい解決策を見つけました。マエストロングDockerコンテナをオーケストレーションするには、ライフサイクルチェック次のコンテナに移動する前に、Web サービスの既知のエンドポイントが HTTP 200 OK を返すのを待機します。この条件が満たされない場合は、何か問題が発生したと想定できます。

関連情報