【发布时间】:2015-08-13 13:15:35
【问题描述】:
我在我的项目中使用 Spring Integration。
我们有一个要求,如果数据库出现故障,我们将停止 Spring 独立服务。
在消息侦听器中,当我将数据持久保存到数据库中时,我检查是否收到 CannotGetJdbcConnectionException,然后使用 applicationContext.close() 方法停止 Spring 服务。
这里的问题是,如果我在队列中收到任何消息并且数据库出现故障。
我试图关闭 Spring 服务,然后所有资源都关闭了,除了保存该消息的 DefaultMessageListenerContainer。
如果我手动终止进程,则消息进入入站队列,这是正确的。
有什么办法可以强制停止 Spring 服务并将消息放回入站队列?
我希望我在这里清楚我的观点。
谢谢 萨钦
【问题讨论】:
标签: spring spring-integration spring-jdbc