2016-07-07 40 views
0

我有一臺服務器,它具有Java 1.6。在那裏,我需要使用Confluent的KafkaAvroDeserializer來反序列化avro消息。與Confluent Kafka Avro解串器的JAVA版本錯誤

的問題是:

如果我使用匯合-1.0(這是與Java> = 1.6兼容),則我無法反序列化,如卡夫卡阿夫羅串-1.0.jar不具有KafkaAvroDeserializer方法。它只有AbstractKafkaAvroDeserializer,我無法根據模式註冊表URL和byte []消息進行反序列化。

如果我使用Confluent-2.0或更高版本,它具有一切,但它只與java> = 1.7兼容。

在這種情況下該怎麼辦?

對於比較:

http://docs.confluent.io/1.0.1/installation.html

http://docs.confluent.io/2.0.0/installation.html

+2

我強烈建議嘗試更新到Java 1.8 - 打擾你的同事/管理員。對1.6的長期支持已停止2013年2月(!)已經停止(對於1.7停止2015年4月)請參閱:http://www.oracle.com/technetwork/java/eol-135779.html Kafka社區正在討論1.8版本的遷移未來版本已經。 –

回答

0

卡夫卡新解串器接口未導入/完成直到卡夫卡0.9.0.0對應於匯合的平臺2.0.0。這也是Java 6支持被刪除後的版本,所以不幸的是,除非您使用自己的構建版本(使用Java 6構建)(這還需要大量修補代碼才能實現),否則無法實現此功能。它與Java 6兼容)。

Java 6已經被EOL使用了3年以上。即使Java 7已經出現一年多的EOL,許多項目開始放棄對它的支持。最終卡夫卡也需要放棄支持。

+0

是的,升級的Java和它按預期工作。 –

相關問題