处理Spring Boot应用程序退出Web应用程序的代码

时间:2017-09-22 08:20:32

标签: java docker spring-boot spring-web

我有一个在docker中运行的Spring Boot Web应用程序。

 <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

即使我定义了一个ExitCodeGenerator,我也无法覆盖退出代码

@Bean
public ExitCodeGenerator exitCodeGenerator() {
    return () -> 0;
}

@Bean
public ApplicationListener applicationListener() {

   return applicationEvent -> {
       logger.info("*** Event {}", applicationEvent);
       if (applicationEvent instanceof ExitCodeEvent) {
           logger.info("---> ExitCode={}", ((ExitCodeEvent) applicationEvent).getExitCode());
       }
    };
}

似乎应用程序的关闭以某种方式处理不同。 更改退出代码的主要原因是dockers restart功能。如果我停止我的应用程序,它将以退出代码142停止.java应用程序的默认行为。但是,如果我现在重新启动docker或服务器docker自动启动应用程序,因为所有容器的退出代码都是&gt; 0开始。

感谢您的回答。

0 个答案:

没有答案