【发布时间】:2012-12-31 19:25:11
【问题描述】:
我们的应用程序中有一个 JMS 关闭队列,需要在特定事件上使用 Spring 上下文关闭正在运行的节点。
为了正确关闭正在运行的 ApplicationContext 而不会在启动时再次处理此“关闭”消息,我们需要单独杀死 Thread,以确保该消息是在我们杀死 ApplicationContext 之前处理。
有没有办法避免额外杀死线程?
例如:配置SpringIntegration流以标记消息已读,在从Queue读取消息后,忽略可能的处理失败。
【问题讨论】:
-
您的意思是从队列中删除它而不会有事务回滚的风险吗?您可以创建自己的
DefaultMessageListenerContainer实例并将sessionTransacted设置为false在jms:message-driven-channel-adapter
标签: java spring queue jms spring-integration