Я, может казаться, не выясняю, возможно ли установить Tomcat для остановки, когда КОРНЕВАЯ инициализация контекста перестала работать. Так как мой экземпляр Tomcat только размещает одно приложение как КОРНЕВОЙ контекст, не имеет никакого смысла поддерживать Tomcat в рабочем состоянии в состоянии ожидания, если инициализация этого веб-приложения перестала работать.
Я знаю, что это не оптимальная вещь сделать, например, Spring, который основанная на начальной загрузке микросервисная архитектура обеспечивает этому из поля, но мы не можем переместиться в Начальную загрузку Spring прямо сейчас. Однако мне нужна некоторая автоматическая обработка отказа, потому что мы связываемся в изображения Докера, и я хотел бы видеть его на контейнерном уровне, если бы что-то фатальное произошло в том контейнере (контейнер, из которого выходят).
Я нашел элегантное решение. Поскольку мы используем maestro-ng для оркестровки контейнеров Docker, мы можем использовать его проверку жизненного цикла , чтобы дождаться, пока известная конечная точка веб-службы вернет HTTP 200 OK, прежде чем перейти к следующему контейнеру. . Мы можем с уверенностью предположить, что что-то пошло не так, если это условие никогда не выполняется.
У вас может быть что-то для анализа журналов в crontab (и поиска конкретной инициализации корневого каталога), а затем остановки службы или отправки электронной почты. Безопасно и легко внедрить.