
ROOT コンテキストの初期化に失敗したときに Tomcat を停止するように設定できるかどうかはわかりません。Tomcat インスタンスは ROOT コンテキストとして 1 つのアプリケーションのみをホストしているため、この Web アプリケーションの初期化に失敗した場合、Tomcat をアイドル状態で実行し続けるのは意味がありません。
これは最適な方法ではないことは承知しています。たとえば、Spring Boot ベースのマイクロサービス アーキテクチャでは、この機能がすぐに利用できますが、現時点では Spring Boot に移行できません。ただし、Docker イメージにバンドルしているため、何らかの自動障害処理が必要であり、そのコンテナー内で致命的な問題が発生した場合 (コンテナーが終了した場合) はコンテナー レベルでそれを確認したいと考えています。
答え1
crontab 内のログを解析し (特定のルート初期化を検索し)、サービスを停止するか電子メールを送信するものを用意できます。安全で実装が簡単です。
答え2
素晴らしい解決策を見つけました。マエストロングDockerコンテナをオーケストレーションするには、ライフサイクルチェック次のコンテナに移動する前に、Web サービスの既知のエンドポイントが HTTP 200 OK を返すのを待機します。この条件が満たされない場合は、何か問題が発生したと想定できます。