2016-12-29 47 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