Кажется, я не могу понять, можно ли настроить Tomcat для остановки при сбое инициализации ROOT-контекста. Поскольку мой экземпляр Tomcat размещает только одно приложение в качестве ROOT-контекста, нет смысла держать Tomcat в состоянии ожидания, если инициализация этого веб-приложения не удалась.
Я знаю, что это не лучший вариант, например, микросервисная архитектура на основе Spring Boot предоставляет это из коробки, но сейчас мы не можем перейти на Spring Boot. Однако мне нужна какая-то автоматическая обработка сбоев, потому что мы объединяем образы Docker, и я хотел бы видеть это на уровне контейнера, если внутри этого контейнера произойдет что-то фатальное (контейнер вышел).
Я нашел изящное решение. Поскольку мы используем маэстро для оркестрации контейнеров Docker мы можем использовать его проверка жизненного цикла чтобы дождаться, пока известная конечная точка веб-службы вернет HTTP 200 OK, прежде чем перейти к следующему контейнеру. Мы можем с уверенностью предположить, что что-то пошло не так, если это условие никогда не выполняется.
У вас может быть что-то для анализа журналов в crontab (и поиска конкретной инициализации root), а затем остановки службы или отправки электронной почты. Безопасно и легко реализовать.