在Spring中,有一种方法可以在应用程序启动失败(由于缺少Bean,缺少属性,无效配置等)而得到通知。 我希望能够通知堆栈的其他部分(即Jenkins服务器)该应用程序未能正确部署。 我注意到了...
SpringApplication.handleRunFailure(ConfigurableApplicationContext context,
SpringApplicationRunListeners listeners, Throwable exception)
如果应用程序无法启动,则会调用...。我还注意到该方法
private int getExitCodeFromException(ConfigurableApplicationContext context,
Throwable exception)
在上下文关闭/错误处理期间被调用,因此我尝试注册类型为 ExitCodeExceptionMapper 的bean,但是从未调用已定义bean的方法,因为目标错误(我想成为的错误)通知)发生在加载bean之前。
该应用程序已部署在Tomcat上,并通过 SpringBootServletInitializer 启动。
还有其他方法可以在Spring Boot应用程序中捕获上下文启动失败错误吗?