gpt4 book ai didi

java - 从 ApplicationListener 关闭 spring 应用程序

转载 作者:行者123 更新时间:2023-12-02 01:26:30 26 4
gpt4 key购买 nike

是否可以从 ApplicationListener 关闭上下文?

   public class MyListener implements ApplicationListener<ContextRefreshedEvent> {

@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
// on some certain condition we want to shutdown spring ie close the context
((ConfigurableApplicationContext)event.getApplicationContext()).close();
}
}

问题是Spring仍然想在这里完成启动过程:

public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}

因此抛出 IllegalStateException:

java.lang.IllegalStateException: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@dcb84c98 has been closed already

最佳答案

您真正想问的问题可能是“如何中断 Spring-Boot 启动”。

onApplicationEvent 方法引发异常。

关于java - 从 ApplicationListener 关闭 spring 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56837551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com