Spring Boot Kafka-消费者自定义JsonDeserializer,在yaml / properties中具有类型信息,不带@Bean

时间:2019-09-04 10:52:36

标签: java spring-boot apache-kafka spring-kafka-test

是否可以将类型信息传递给Kafka使用者的反序列化器,而无需使用@Configuration@Bean的{​​{1}}定义consumerFactory()类?

containerFactory方法中,我必须将yml文件中已有的所有配置再次放入映射中,并将其传递给工厂的构造函数,但是我认为这是开销。我想找到一种将所有配置保留在yaml / properties中的方法。 (而且我认为将配置放入yaml而不是使用代码更干净)

我想为每个使用@Bean注释的使用者/每个方法指定类型,因为我将收到映射到其对应DTO的不同JSON,因此通用@KafkaListener在这里不适用。觉得很丑)

我正在用我的代码进行测试(使用spring.json.value.default.type进行Spring Kafka测试),但现在它抱怨找不到类型信息:

EmbeddedKafka

我知道文档,但是我不知道如何正确地做:

https://docs.spring.io/spring-kafka/reference/html/#spring-messaging-message-conversion

0 个答案:

没有答案