Я написал веб-сервис Spring Boot, который использует встроенный кот в качестве контейнера.
В случае перезагрузки системы я хочу сделать резервную копию некоторой информации в базе данных mysql.
В моем веб-сервисе я использую @Scheduled()
и @PreDestroy
для запуска резервного копирования.
Это хорошо, когда я останавливаю сервер с помощью ^C.
Но когда я завершаю процесс с помощью sysV skript (/etc/init.d
) и команды kill, несмотря на то, что демон имеет зависимость от mysql, сервер mysql отключается до завершения резервного копирования (в результате чего SQL Исключения в моем журнале).
Причина этого, конечно же, в том, что kill посылает только сигнал об остановке процесса.
Как я могу (из моего скрипта sysv) синхронно остановить работающий сервер tomcat с весенней загрузкой?