按照问题How to manually control the offset commit with camel-kafka?的要求,我想使用camel-kafka手动提交偏移量。我的路线:
.from(kafka:topic1)
.aggregate(new GroupByExchangeStrategy())
.to(kafka:topic2)
.process(new ManualCommitProcessor())
,其中ManualCommitProcessor
在将消息发送到另一个主题后将做出承诺。
问题是聚合器和kafka生产者在与kafka消费者分离的线程中工作,后者负责抵消承诺。因此,我以
结尾java.util.ConcurrentModificationException: KafkaConsumer is not safe for multi-threaded access
是否有可能在聚合并分派提交偏移量后再次调用使用者线程?
答案 0 :(得分:0)
这是不可能的,使用者线程独立于聚合器的输出运行。