java是从bean强制Spring关闭的最佳方式吗?
我的应用程序使用Spring DefaultMessageListenerContainer
来处理传入的消息。应用程序的主要方法已经注册了一个关机挂钩
问题是:强制关闭应用程序上下文的最佳方法是什么
如果我在消息侦听器中抛出RuntimeException
,它将由容器处理,而不是传递。是呼叫系统。可以退出吗?我是否将ApplicationContext
传递给每个需要关闭的类,以便调用close()
你可以在下面搜索框中键入要查询的问题!
我的应用程序使用Spring DefaultMessageListenerContainer
来处理传入的消息。应用程序的主要方法已经注册了一个关机挂钩
问题是:强制关闭应用程序上下文的最佳方法是什么
如果我在消息侦听器中抛出RuntimeException
,它将由容器处理,而不是传递。是呼叫系统。可以退出吗?我是否将ApplicationContext
传递给每个需要关闭的类,以便调用close()
# 1 楼答案
您可以将应用程序上下文强制转换为
ConfigurableApplicationContext
,并对其调用close()
。至少在web应用程序环境中关闭上下文时会发生这种情况,以防servlet上下文被破坏如果您想获得}
ApplicationContext
,您的bean可以实现^{另一个选项是注入(或使用
@Autowired
自动连线)应用程序上下文: