Вам нужно добавить отключение отключения в ваше приложение.Это поток, который будет запущен, когда ваша программа завершится нормально или если JVM завершится в ответ на пользовательское прерывание, сигнал SIGTERM или общесистемное событие, такое как выход пользователя из системы или завершение работы системы.Посмотрите на javadocs для получения дополнительной информации.
Вот шаги, выполняемые при создании ловушек отключения:
1) Создайте класс ловушек отключения:
public class AppShutdownHook extends Thread{
public void run(){
logger.info("Running shutdown hook...") ;
//cleanup e.g. close database connections etc
}
}
2) Зарегистрируйте ловушку отключения:
public class App{
public App(){
Runtime.getRuntime().addShutdownHook(new AppShutdownHook()) ;
}
}
Прелесть этого подхода в том, что у вас нет специального «сценария остановки», который вам нужно помнить для запуска каждый раз, когда у вас естьчтобы остановить приложение или перезагрузить компьютер.
Ссылка: Завершение работы Java-приложений