处理Spring Boot应用程序退出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()); } }; } 

看起来应用程序的closures是以某种方式处理不同的。 更改退出码的主要原因是docker重启function。 如果我停止我的应用程序停止与退出代码142. Java应用程序的默认行为。 但是,如果我现在重新启动泊坞窗或服务器泊坞窗自动启动应用程序,因为所有退出代码> 0的容器都启动。

感谢您的回答。