2016-12-29 49 views
1

有人能告诉我罐子 12之间的区别。我试图编写kafka客户端从使用来自1的KafkaConsumer的poll(超时)API调用代理来获取数据,但实现似乎是自动生成的(请参见下文)。任何关于什么是正确的罐子的想法。什么是合适的Apache Kafka客户端罐子

public Map<String, ConsumerRecords<K,V>> poll(long timeout) { 
    return null; 
} 
+0

的'2号一个_2.9.2'后缀告诉你,这是对编译斯卡拉的版本。由于Scala并不总是向后兼容,所以它们为各种Scala版本提供了jar(参见https://kafka.apache.org/downloads.html)。从来没有见过一个没有任何后缀,并且1st的依赖关系没有列出任何看起来很腥的Scala依赖,所以不知道这个依赖是什么。 –

回答

1

卡夫卡拥有多种编程语言的客户端。只有Java客户端作为主要Kafka项目的一部分进行维护。您可以查看有关clients的更多信息。

您应该使用1罐子里写卡夫卡消费者即

<dependency> 
    <groupId>org.apache.kafka</groupId> 
    <artifactId>kafka-clients</artifactId> 
    <version>0.8.2.0</version> 
</dependency> 
+0

你好@ravthiru,谢谢你的回答。你知道poll()API的第二个问题的答案。为什么java客户端会自动生成代码?谢谢! – useful

+0

IRRC,客户在Kafka 0.9中被放入自己的jar中 - 如果Kafka 0.8.2需要使用Kafka核心的依赖关系。 –

+1

你能否提供你所指的核心jar的maven配置?不确定https://mvnrepository.com/artifact/org.apache.kafka中哪一个是正确的? – useful