Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
Spring integration Spring集成:消息聚合器和事务回滚_Spring Integration - Fatal编程技术网

Spring integration Spring集成:消息聚合器和事务回滚

Spring integration Spring集成:消息聚合器和事务回滚,spring-integration,Spring Integration,我们的应用程序中存在以下问题。消息通过入站通道适配器传入,并使用持久消息存储在聚合器中累积。一旦释放策略中定义的条件返回true,消息将被发送到处理的下一阶段。如果在下一个处理阶段抛出异常,事务将回滚,消息将再次放入持久消息存储中。但是,事务不会将消息放回原始队列,因为消息一旦放在聚合器中就会被确认。这不是我们想要的。理想情况下,如果在处理聚合器已批处理的其中一条下游消息时发生异常,则事务只会回滚发生错误的单个消息,并将其放回原始队列。有没有使用Spring集成来实现这一点 谢谢不是内置的;您必

我们的应用程序中存在以下问题。消息通过入站通道适配器传入,并使用持久消息存储在聚合器中累积。一旦释放策略中定义的条件返回true,消息将被发送到处理的下一阶段。如果在下一个处理阶段抛出异常,事务将回滚,消息将再次放入持久消息存储中。但是,事务不会将消息放回原始队列,因为消息一旦放在聚合器中就会被确认。这不是我们想要的。理想情况下,如果在处理聚合器已批处理的其中一条下游消息时发生异常,则事务只会回滚发生错误的单个消息,并将其放回原始队列。有没有使用Spring集成来实现这一点


谢谢

不是内置的;您必须自己处理错误,并重新查询失败的消息

要在聚合器下游插入错误处理,可以添加调用网关的服务激活器(使用返回void的方法),并向其添加
错误通道

错误通道上的
ErrorMessage
将有一个负载,它是一个
messaginegexception
,具有
原因
失败消息
属性