Spring Boot [如何正确使用.exit]

时间:2016-12-23 08:20:35

标签: spring-boot

显然,当我在不同的主题中阅读时,Closing ConfigurableApplicationContext使用.exit,我读到它可以通过多种方式实现。我试着像这样使用它......

public static void main(String[] args) throws Exception {
    SpringApplication app = new SpringApplication(Application.class);
    ConfigurableApplicationContext applicationContext = app.run(args);
    app.exit(applicationContext);
}

当我运行程序w / out出口部分时,它运行正常,但现在当我放置出口部分时,甚至登录页面都不显示

1 个答案:

答案 0 :(得分:0)

你想要实现什么目标?

exit是一种停止上下文的方法(因此也就是你的应用程序)。 它用于确保正常关闭上下文。其次是返回exitCode的可能性你喜欢。

public static void closeApp(SpringApplication app, ConfigurableApplicationContext context) {
    final int exitCode = 5;
    ExitCodeGenerator exitCodeGenerator = new ExitCodeGenerator() {

        @Override
        public int getExitCode() {
            return exitCode;
        }
    };
    app.exit(context, exitCodeGenerator); 
}

public static void main(String[] args) throws Exception {
    SpringApplication app = new SpringApplication(Application.class);
    ConfigurableApplicationContext applicationContext = app.run(args);
    shutdown(app, applicationContext); // this shoud prints "Process finished with error code 5"

}

}