2016-07-15 25 views
0

嗨,我有一個很奇怪的問題,卡夫卡和Clojure中沒有訂閱方法KafkaConsumer對象

我無法撥打methon從Clojure的一個kafkaconsumber對象認購。以下是我的代碼。

(.subscribe (KafkaConsumer. {"bootstrap.servers" "127.0.0.1:9092" 
          "key.deserializer" "org.apache.kafka.common.serialization.StringDeserializer" 
          "value.deserializer" "org.apache.kafka.common.serialization.StringDeserializer" 
          "partition.assignment.strategy" "roundrobin" 
          "group.id" "clj-kafka.consumer" 
          "auto.offset.reset" "smallest" 
          "auto.commit.enable" "false"}) ["test"])) 

卡夫卡在我project.clj定義我使用的版本是

[org.apache.kafka/kafka_2.10 "0.9.0.1"] 

對於安全措施我有傾倒的確切方法適用於我的對象和認購就是其中之一意思它只能是一個爭論問題?

https://kafka.apache.org/090/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html這是我正在使用的文檔。

任何想法都會受到歡迎。

+0

什麼錯誤,你得到什麼? Btw:在0.9.x中,auto.offset.reset應該是「最早的」而不是「最小的」。你也可以包含「kafka-clients」而不是「kafka_2.10」。 –

+0

感謝它仍然不完全確定爲什麼「kafka_2.10」不起作用。再次感謝你Matthias – sqwale

回答

1

在卡夫卡0.9.x客戶不再包含在卡夫卡核心模塊,但包含在自己的模塊kafka-clients。因此,您應該包含[org.apache.kafka/kafka-clients "0.9.0.1"]而不是kafka_2.10

順便說一句:在0.9.x爲參數auto.offset.reset值應該earliestlatest,或none(而不是0.8.xsmallestlargest)(見https://kafka.apache.org/090/documentation.html#newconsumerconfigs

相關問題