KafkaConsumer#poll在Kafka客户端版本0.8.2中始终返回null

时间:2018-08-23 12:56:17

标签: apache-kafka kafka-consumer-api

我已经使用kafka-clients-0.8.2.0 API编写了最少的Kafka用户代码。

令人惊讶的是,对KafkaConsumer#poll方法的调用总是返回null。我检查了KafkaConsumer的源代码,结果发现poll方法被硬编码为始终返回null

@Override
public Map<String, ConsumerRecords<K,V>> poll(long timeout) {
        // TODO Auto-generated method stub
        return null;
}

参考:https://github.com/apache/kafka/blob/0.8.2/clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java

我很好奇为什么要这样保存。我在这里想念东西吗?

1 个答案:

答案 0 :(得分:0)

似乎是kafka-clients库中的错误。版本0.8.1甚至没有消费者包,因此对我来说,在发布0.8.2时尚未实现。当然,通过使用eclipse自动生成的方法返回null是非常不好的做法。取而代之的是,至少应该有not yet implemented条消息或类似消息的某种例外,但这确实是...

请改用kafka-clients 0.9.0,该版本包含轮询方法的实现。