Apache camel 骆驼分割聚合在子exchange而不是父exchange上调用onPrepareFailure
我有一个生产路线,它有一个全局错误处理程序,可以将消息发送到队列以供以后处理。此路线使用拆分聚合模式,如下所述Apache camel 骆驼分割聚合在子exchange而不是父exchange上调用onPrepareFailure,apache-camel,Apache Camel,我有一个生产路线,它有一个全局错误处理程序,可以将消息发送到队列以供以后处理。此路线使用拆分聚合模式,如下所述 errorHandler(sqsQueue).userOriginalMessage(true).onPrepareFailure(processor).disbleRedelivery(); onException(exceptionA).useOriginalMessage().handled(false); from(sqs) .process(processor
errorHandler(sqsQueue).userOriginalMessage(true).onPrepareFailure(processor).disbleRedelivery();
onException(exceptionA).useOriginalMessage().handled(false);
from(sqs)
.process(processorA)
.split(body(), aggregator)
.parallelProcessing()
.stopOnException()
.shareUnitOfWork()
.process(processorB)
.process(processorC)
.process(processorD)
.end()
.process()
.process();
问题描述
当splitter返回>1个对象并尝试并行处理时,如果processorB、C或D引发异常,则会在Split创建的子交换(而不是父交换)上调用错误处理程序
期望值
ShareUnitOfWork根据文档声明,除非我误读了文档,否则消息将只移动到DLQ一次