[英]Unable to get number of messages in kafka topic
我對kafka相當陌生。 我用Java創建了一個示例生產者和消費者。 使用生產者,我能夠將數據發送到kafka主題,但無法使用以下使用者代碼獲得該主題中的記錄數。
public class ConsumerTests {
public static void main(String[] args) throws Exception {
BasicConfigurator.configure();
String topicName = "MobileData";
String groupId = "TestGroup";
Properties properties = new Properties();
properties.put("bootstrap.servers", "localhost:9092");
properties.put("group.id", groupId);
properties.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
properties.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
KafkaConsumer<String, String> kafkaConsumer = new KafkaConsumer<>(properties);
kafkaConsumer.subscribe(Arrays.asList(topicName));
try {
while (true) {
ConsumerRecords<String, String> consumerRecords = consumer.poll(100);
System.out.println("Record count is " + records.count());
}
} catch (WakeupException e) {
// ignore for shutdown
} finally {
consumer.close();
}
}
}
我在控制台中沒有任何異常,但是即使主題中有消息,consumerRecords.count()始終返回0。 如果我缺少某些東西來獲取記錄詳細信息,請告訴我。
poll(...)
調用通常應處於循環中。 在進行分區分配時,初始poll(...)
總是有可能不返回任何數據(取決於超時)。 這是一個例子:
try {
while (true) {
ConsumerRecords<String, String> records = consumer.poll(100);
System.out.println("Record count is " + records.count());
}
} catch (WakeupException e) {
// ignore for shutdown
} finally {
consumer.close();
}
有關更多信息,請參見此相關文章 :
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.