gpt4 book ai didi

java - Kafka - 反序列化消费者中的对象

转载 作者:行者123 更新时间:2023-11-29 08:27:48 25 4
gpt4 key购买 nike

我们正在考虑在我们的消息传递中使用 Kafka,我们的应用程序是使用 Spring 开发的。所以,我们打算使用spring-kafka。

生产者将消息作为 HashMap 对象放入队列中。我们有 JSON 序列化器,我们假设 map 将被序列化并放入队列中。这是生产者配置。

spring:
kafka:
bootstrap-servers: localhost:9092
producer:
key-serializer: org.springframework.kafka.support.serializer.JsonSerializer
value-serializer: org.springframework.kafka.support.serializer.JsonSerializer

另一方面,我们有一个监听器,它监听生产者发布消息的同一主题。这是消费者配置:

spring:
kafka:
consumer:
group-id: xyz
key-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer

我们的监听器方法:

  public void listener(SomeClass abx)

我们期望 json 将被反序列化并生成一个“SomeClass”类型的对象。但显然,它抛出了反序列化异常。

我们看到的文章很少,建议是做类似的事情:

 @Bean
public ConsumerFactory<String, Car> consumerFactory() {
return new DefaultKafkaConsumerFactory<>(consumerConfigs(), new StringDeserializer(),
new JsonDeserializer<>(Car.class));
}

我们不想编写一些代码来创建反序列化器。有没有我们遗漏的样板文件?任何帮助将不胜感激!!

最佳答案

参见 the boot documentation .特别是:

You can also configure the Spring Kafka JsonDeserializer as follows:

spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonDeserializer

spring.kafka.consumer.properties.spring.json.value.default.type=com.example.Invoice

spring.kafka.consumer.properties.spring.json.trusted.packages=com.example,org.acme

关于java - Kafka - 反序列化消费者中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51096351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com