Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringIntegration从队列中删除消息而不进行处理_Java_Spring_Queue_Jms_Spring Integration - Fatal编程技术网

Java SpringIntegration从队列中删除消息而不进行处理

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

我们的应用程序中有一个JMSshutdown队列,需要在特定事件上使用Spring上下文关闭正在运行的节点

为了正确关闭正在运行的ApplicationContext而不在启动时再次处理此“关机”消息,我们需要有一个单独的终止线程,以确保在终止ApplicationContext之前处理了该消息

有没有办法避免额外杀死线程


例如:配置SpringIntegration流,在从队列读取消息后立即标记消息已读,忽略可能的处理失败。

如果将kill消息路由到
执行者通道
(或
队列通道
),消息将被传递到另一个线程,事务将立即提交。

您的意思是将其从队列中删除而不会有事务回滚的风险吗?您可以创建自己的
DefaultMessageListenerContainer
实例,并在
jms:message-driven通道适配器中将
SessionTransact
设置为
false