【发布时间】:2020-01-29 08:09:05
【问题描述】:
首先我从kafka轮询数据并且需要使用异步方法读取记录,我很困惑访问consumerRecords是否是线程安全的?
sn-ps的代码如下:
ConsumerRecords<String,String> consumerRecords = kafkaConsumer.poll(100);
//1. asynchronously read topic1
foo.asynMethod1(consumerRecords(topic1));
//2. asynchronously read topic2
bar.asynMethod2(consumerRecords(topic2));
【问题讨论】:
-
这些记录是可迭代的,因此您必须复制或转储到列表中,以免在两种方法中增加相同的迭代器
-
@cricket_007 即使我用两种方法处理不同的主题?
-
只要你使用的是同一个可迭代对象,那么可以
标签: java multithreading apache-kafka kafka-consumer-api