0

我有一台装有 Java 1.6 的服务器。在那里我需要使用 ConfluentKafkaAvroDeserializer来反序列化 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

4

1 回答 1

0

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

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

于 2016-07-23T20:43:38.653 回答