带有 seda 端点的 Apache Camel 消息确认

问题描述

我正在尝试编写一个路由,将消息转发到像这样的 seda 端点

from(jms:queue:testQueue)
.process(/** do something ** /)
.inOnly(seda:test?waitForTaskCompletion=Never)
.end();

还有一条从 seda 端点消费的路由:

from(seda:test)
.process(/** do something **)
.end();

JMS 连接工厂的 JMS 确认模式是 CLIENT_ACKNowLEDGE,我已经使用 spring-boot 配置了项目。根据配置,一旦第一条骆驼路由结束,它应该提交事务并向消息代理发送确认。

但是,行为是消息确认仅在第二条路由完成后发生。我可以在第一条路由中配置什么来立即确认消息? AUTO_ACKNowLEDGE 不是我可以使用的选项。

解决方法

您可以尝试插入一个窃听器来调用您的 seda 路由吗?