我正在使用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 daemon service runner不再工作了。”。这可能有什么问题?
答案 0 :(得分:1)
我最终如下:
public static void exit(String[] args) throws InterruptedException {
SpringApplication.exit(ctx);
System.exit(0);
}