Spring Boot将ObjectMapper注入Kafka JsonDeserializer

时间:2019-03-05 23:51:24

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

我想将杰克逊的ObjectMapper注入到Kafka的ConsumerFactory的JsonDeserializer中。我已经完成了这篇文章中提到的内容:

Inject ObjectMapper into Spring Kafka serialiser/deserialiser

但是,当我在不同主题上有多个@KafkaListener时,ConcurrentKafkaListenerContainerFactory使用属性映射构造ConcurrentMessageListenerContainer而不是实例来构造ConsumerFactory的多个实例传递到ConcurrentKafkaListenerContainerFactory.setConsumerFactory()中。只有第一个ConcurrentMessageListenerContainer使用的是正确的ConsumerFactory

如何解决此问题并正确配置Kafka?

1 个答案:

答案 0 :(得分:1)

每个侦听器都需要一个不同的使用者/容器工厂。然后使用@KafkaListener上的containerFactory属性指定要使用的工厂。