我有一个在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开始。
感谢您的回答。