java 如何在不生成POJO类的情况下发送avro消息[关闭]

gopyfrb3  于 2023-05-12  发布在  Java
关注(0)|答案(1)|浏览(113)

已关闭,此问题需要更focused。目前不接受答复。
**想改善这个问题吗?**更新问题,使其仅通过editing this post关注一个问题。

10小时前关闭。
Improve this question
我的应用程序应该能够接受任何对象。
接受对象后,我需要将消息发布到Kafka主题。主题附加了架构。
我能够做的模式验证时,我生成POJO的使用avro的maven插件。
但是我正在寻找一些通用的解决方案,这样我就可以接受任何Java对象,并且可以使用schema registry进行验证,并且可以发布到Kafka主题。
我尝试使用avro maven插件,它基于模式文件生成POJO类。但是我不想生成pojo类。我希望它是通用的,这样我的应用程序就可以接受任何Java对象,并将其发布到不同的主题。

7qhs6swi

7qhs6swi1#

您可以使用Avro GenericRecord类型,它的操作与Java HashMap非常相似
可以接受任何java对象
你不需要Avro来做这个。您可以使用ObjectOutputStream编写任何可序列化的Java类型。但问题是,它很难与其他可能使用Kafka主题的语言一起使用。
您也可以在Avro中使用bytes类型,并在其中添加 * 任何内容 *,但如果您想为这些事件提供一些一致的格式,我建议您查看CloudEvents规范。

相关问题