Java SpringIntegration从队列中删除消息而不进行处理
我们的应用程序中有一个JMSshutdown队列,需要在特定事件上使用Spring上下文关闭正在运行的节点 为了正确关闭正在运行的ApplicationContext而不在启动时再次处理此“关机”消息,我们需要有一个单独的终止线程,以确保在终止ApplicationContext之前处理了该消息 有没有办法避免额外杀死线程Java SpringIntegration从队列中删除消息而不进行处理,java,spring,queue,jms,spring-integration,Java,Spring,Queue,Jms,Spring Integration,我们的应用程序中有一个JMSshutdown队列,需要在特定事件上使用Spring上下文关闭正在运行的节点 为了正确关闭正在运行的ApplicationContext而不在启动时再次处理此“关机”消息,我们需要有一个单独的终止线程,以确保在终止ApplicationContext之前处理了该消息 有没有办法避免额外杀死线程 例如:配置SpringIntegration流,在从队列读取消息后立即标记消息已读,忽略可能的处理失败。如果将kill消息路由到执行者通道(或队列通道),消息将被传递到另一个
例如:配置SpringIntegration流,在从队列读取消息后立即标记消息已读,忽略可能的处理失败。如果将kill消息路由到
执行者通道
(或队列通道
),消息将被传递到另一个线程,事务将立即提交。您的意思是将其从队列中删除而不会有事务回滚的风险吗?您可以创建自己的DefaultMessageListenerContainer
实例,并在jms:message-driven通道适配器中将SessionTransact
设置为false