spring-kafka jsonserializer用法

ryoqjall  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(379)

我试着按照这里的说明做:
http://docs.spring.io/spring-kafka/docs/1.1.1.release/reference/htmlsingle/#_serialization_deserialization_and_message_conversion
设置一个kafkatemplate,它可以序列化并发送一些简单的javapojo。但我发现文件含糊不清,尤其是这部分:
为此,springforapachekafka还提供了基于jacksonjson处理器的jsonserializer/jsondesializer实现。当jsonserializer非常简单,只允许将任何java对象作为json字节[]写入时
...
虽然从低级kafka使用者和生产者的Angular 来看,序列化器/反序列化器api非常简单和灵活,但在消息传递级别上,kafkatemplate和@kafkalistener是存在的,这是不够的。
...
messageconverter可以直接注入到kafkatemplate示例中,也可以通过@kafkalistener.containerfactory()属性的抽象kafkalistenerContainerFactory bean定义注入
所以我的问题是:
我的Kafka模板是什么类型的?它是 KafkaTemplate<String, Object> ? 还是这样 KafkaTemplate<String, String> ?
我的序列化程序类是什么?它是 StringSerializer ,还是 JsonSerializer ?
我用什么 kafkaTemplate.setMessageConverter(new StringJsonMessageConverter()) 当创建我的kafkatemplatebean时?
抱歉,如果这些都是愚蠢的问题-我试图理解正确的方式设置它,而不是“黑客,直到它有点工作”。

ztyzrc3y

ztyzrc3y1#

<String, Object> JsonSerializer 消息转换器仅在使用接受 Message<?> 带着一个 JsonSerializer 你应该使用默认的。

相关问题