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