如何在不生成代码的情况下将POJO序列化反序列化到Avro和Kafka

问题描述

我想使用Avro将POJO序列化到Kafka,但我不想生成POJO。我不想使用生成代码有多种原因。

  1. 我想控制POJO结构。我想使用继承,我想添加方法,我想使用Kotlin数据类
  2. Avro生成代码存在诸如this one
  3. 之类的问题

解决方法

您可以使用Jackson Kafka Avro serializer来做到这一点。它使用Jackson来对数据进行反序列化,因此您可以轻松地将POJO映射到Avro模式并返回。而且,它具有Kotlin的一流支持。