How to (de)serialize POJO to Avro and Kafka without generating code

huangapple go评论147阅读模式
英文:

How to (de)serialize POJO to Avro and Kafka without generating code

问题

我想使用Avro将一个普通Java对象(POJO)序列化到Kafka,但我不想生成POJO的代码。有几个原因导致我不想使用生成的代码。

  1. 我想要对POJO的结构有更多控制权。我想要使用继承,添加方法,还想使用Kotlin数据类。
  2. Avro生成的代码存在一些问题,例如这个问题
英文:

I want to serialize a POJO to Kafka using Avro but I do not want to generate the POJO. There are several reason that I do not want to use generated code.

  1. I want to have control about the POJO structure. I want to use inheritance, I want to add methods, I want to use Kotlin data classes
  2. Avro generated code has some issues like this one

答案1

得分: 1

你可以使用Jackson Kafka Avro序列化器,它正是这样做的。它使用Jackson对数据进行序列化和反序列化,因此您可以轻松地将POJO映射到Avro模式并进行转换。此外,它还具有一流的Kotlin支持。

英文:

You can use Jackson Kafka Avro serializer which does exactly that. It (de)serializes the data using Jackson so you can easily map the POJOs to Avro schemas and back. Moreover, it has first class Kotlin support.

huangapple
  • 本文由 发表于 2020年8月26日 03:16:09
  • 转载请务必保留本文链接:https://go.coder-hub.com/63585685.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定