【问题标题】:JAVA Version Error with Confluent Kafka Avro DeserializerConfluent Kafka Avro Deserializer 的 JAVA 版本错误
【发布时间】:2016-07-24 04:43:38
【问题描述】:

我有一台装有 Java 1.6 的服务器。我需要使用 Confluent 的 KafkaAvroDeserializer 来反序列化 avro 消息。

问题是:

如果我使用 Confluent-1.0(与 Java >=1.6 兼容),那么我无法反序列化,因为 kafka-avro-serializer-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

【问题讨论】:

  • 我强烈建议您尝试更新到 Java 1.8——打扰您的同事/管理员。对 1.6 的长期支持已于 2013 年 2 月停止(!)(对于 1.7 于 2015 年 4 月停止)请参阅:oracle.com/technetwork/java/eol-135779.htmlKafka 社区正在讨论将未来版本迁移到 1.8。

标签: java apache-kafka avro confluent-platform


【解决方案1】:

Kafka 的新反序列化接口直到 Kafka 0.9.0.0(对应于 Confluent Platform 2.0.0)才引入/最终确定。这也是 Java 6 支持被删除时的版本,所以不幸的是,除非您使用自己的构建来使用 Java 6 构建(这也需要大量修补代码来制作它与 Java 6 兼容)。

Java 6 已停产 3 年多。甚至 Java 7 已经停产一年多了,许多项目开始放弃对它的支持。最终,Kafka 也需要放弃支持。

【讨论】:

    猜你喜欢
    • 2016-11-10
    • 1970-01-01
    • 2019-11-18
    • 2020-12-13
    • 2019-07-30
    • 2020-10-15
    • 2020-10-09
    • 2019-04-04
    • 2019-12-15
    相关资源
    最近更新 更多