Как правильно закрыть сервис prunsrv весной?
Я использую apache prunsrv
сервис для установки jar
в качестве службы Windows. Когда служба закрыта, приложение вылетает.
set PR_STARTMETHOD=main
set PR_STOPMETHOD=exit
Мой класс запуска и выключения выглядит следующим образом:
public class TravelportMainApp {
private static ConfigurableApplicationContext ctx;
public static void main(String[] args) {
ctx = SpringApplication.run(source, args);
ctx.registerShutdownHook();
}
public static void exit(String[] args) throws InterruptedException {
if (ctx != null && ctx instanceof AbstractApplicationContext) {
((AbstractApplicationContext) ctx).destroy();
}
Sysout("EXIT OK.");
}
}
Результат: выводится команда выхода "EXIT OK", но затем приложение командной строки вылетает, говоря: "Запущен сервис-демон commons. Больше не работает". Что здесь может быть не так?
1 ответ
Я закончил следующим образом:
public static void exit(String[] args) throws InterruptedException {
SpringApplication.exit(ctx);
System.exit(0);
}