Фон
У меня есть приложение Spring Boot, которое я развертываю в контейнере Docker.
Приложение должно работать 24/7. В случае сбоя он должен перезапуститься.
У меня есть возможность настроить перезапуск контейнера на cra sh и использовать Kubernetes, но это относительно медленные операции.
У меня сложилось впечатление, что Tomcat, как и IIS на Windows, может перезапускать приложения, которые не работают. Перезагрузка приложения в Tomcat должна быть быстрее, чем перезагрузка всего контейнера.
Итак, я попытался развернуть приложение как взрывную войну в Tomcat.
Но оказывается, что все, что Tomcat делает для меня, - это запуск приложения и обеспечение ручного перезапуска через приложение-менеджер.
Я узнал, что Tomcat поддерживает «перезагрузку», если указанные файлы изменены, но это предназначено для сред разработки, и рекомендуется не использовать его в рабочей среде.
Мои вопросы:
- Можно ли настроить приложение под Tomcat, чтобы в случае его сбоя Tomcat перезапустил его для меня? Как?
- Если нет, то какие преимущества, если таковые имеются, у меня есть при использовании Tomcat для размещения моего приложения внутри контейнера вместо простого запуска java -jar в контейнере?