用kafkaavro序列化程序处理java8localdate及自动生成

tyg4sfes  于 2021-06-05  发布在  Kafka
关注(0)|答案(0)|浏览(186)

仅供参考:spring boot 2.2.4.release、spring cloud hoxton.sr1、confluent docker platform 5.4.0以及相应的kafka avro序列化程序、spring cloud stream schema 2.2.1.release(avro 1.9.1)从这里开始:https://www.baeldung.com/spring-cloud-stream-kafka-avro-confluent
使用confluentschemaregistryclient但无法加载本地avro架构文件,不知道为什么,我一直在尝试将spring的spring.cloud.stream.schema.avro.dynamicschemagenerationenabled属性与true一起使用。消息转换器通过spring.cloud.stream.bindings.output/input.contenttype=application/*+avro激活
我的第一个问题是不支持可为null的值,因此我一直在想,在自动生成模式时,如何指示字段何时可为null(这是生产者方面的问题)。通过在我的信息系统中设置非空值来处理它之后:-(我遇到了localdate字段的另一个问题,因为localdate没有默认构造函数,所以反序列化失败(这是消费者方面的问题)。
所以我迁移了我的程序,改为使用joda time,但它的localdate类遇到的问题是嵌入了一个没有默认构造函数的编年史字段。。。
所以,我的问题是:我是否可以使用某种转换器来实现一个包含java8本地日期和avro的端到端通信?我听说AVRO1.9应该支持他们(https://issues.apache.org/jira/browse/avro-2079),无论如何。所以我可能做错了,但是我的avro模式看起来很像生成的模式(但是没有可空类型)。
谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题