如何在春季关闭prunsrv服务?

时间:2015-05-26 15:44:35

标签: java spring spring-boot 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 daemon service runner不再工作了。”。这可能有什么问题?

1 个答案:

答案 0 :(得分:1)

我最终如下:

public static void exit(String[] args) throws InterruptedException {
    SpringApplication.exit(ctx);
    System.exit(0);
}