有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是从bean强制Spring关闭的最佳方式吗?

我的应用程序使用Spring DefaultMessageListenerContainer来处理传入的消息。应用程序的主要方法已经注册了一个关机挂钩

问题是:强制关闭应用程序上下文的最佳方法是什么

如果我在消息侦听器中抛出RuntimeException,它将由容器处理,而不是传递。是呼叫系统。可以退出吗?我是否将ApplicationContext传递给每个需要关闭的类,以便调用close()


共 (1) 个答案

  1. # 1 楼答案

    您可以将应用程序上下文强制转换为ConfigurableApplicationContext,并对其调用close()。至少在web应用程序环境中关闭上下文时会发生这种情况,以防servlet上下文被破坏

    如果您想获得ApplicationContext,您的bean可以实现^{}

    另一个选项是注入(或使用@Autowired自动连线)应用程序上下文:

    @Inject
    private ApplicationContext ctx;