如何在Spring Boot应用程序关闭时注册/添加自定义关闭路由?
场景:我将Spring Boot应用程序部署到Jetty servlet容器中(即没有嵌入式Jetty)。 我的应用程序使用Logback进行日志记录,并且我想在运行时使用Logback的MBean JMX配置器更改日志记录级别。 其文档指出,为了避免内存泄漏,在关闭时必须调用特定的LoggerContext关闭方法。
有哪些监听Spring Boot关闭事件的好方法?
我已经尝试过:
public static void main(String[] args) throws Exception {
ConfigurableApplicationContext cac = SpringApplication.run(Example.class, args);
cac.addApplicationListener(new ApplicationListener<ContextClosedEvent>() {
@Override
public void onApplicationEvent(ContextClosedEvent event) {
logger.info("Do something");
}
});
}
但是,当应用程序关闭时,此注册的侦听器不会被调用。