我正在尝试配置camel从单个JMS队列中读取并发布到2个不同的Kafka集群。
我的配置类似于
from("jms:queueName?concurrentConsumers=1")
.transacted()
.to("kafka:host1:port1?topic=kafkaTopic")
.to("kafka:host2:port2?topic=kafkaTopic")
我的问题是如何将进程配置为in-transaction,这意味着如果它无法写入Kafka之一,它应该从其他Kafka回滚写入并且消息保留在JMS队列中。
在我的集成测试中,当我关闭第二个kafka并将消息发布到JMS队列时,消息仍然到达第一个kafka。