我已经使用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;
}
我很好奇为什么要这样保存。我在这里想念东西吗?
答案 0 :(得分:0)
似乎是kafka-clients库中的错误。版本0.8.1甚至没有消费者包,因此对我来说,在发布0.8.2时尚未实现。当然,通过使用eclipse自动生成的方法返回null是非常不好的做法。取而代之的是,至少应该有not yet implemented
条消息或类似消息的某种例外,但这确实是...
请改用kafka-clients 0.9.0,该版本包含轮询方法的实现。