Одной из возможностей может быть установка сторожевого устройства, которое отслеживает (например, через порт, некоторые пользовательские проверки и т. Д.) Приложение и перезапускает весь сервер при необходимости. Это может быть даже скрипт bash, который выполняет catalina.sh run
на управляемой суб-оболочке.
Достойные системы мониторинга также позволяют это. Например, Zabbix позволяет настраивать контрольные проверки и действия, поэтому, если служба недоступна, она может предварительно перезапустить ее.
Другим решением будет использование Tomcat manager для остановки / запуска существующего приложения. Это можно сделать с помощью скрипта Apache Ant, который вызывает соответствующий URL-адрес менеджера. Это решение, однако, не применимо, если приложение «умирает» и отключает весь сервер.