我想将杰克逊的ObjectMapper注入到Kafka的ConsumerFactory的JsonDeserializer中。我已经完成了这篇文章中提到的内容:
Inject ObjectMapper into Spring Kafka serialiser/deserialiser
但是,当我在不同主题上有多个@KafkaListener
时,ConcurrentKafkaListenerContainerFactory
使用属性映射构造ConcurrentMessageListenerContainer
而不是实例来构造ConsumerFactory
的多个实例传递到ConcurrentKafkaListenerContainerFactory.setConsumerFactory()
中。只有第一个ConcurrentMessageListenerContainer
使用的是正确的ConsumerFactory
。
如何解决此问题并正确配置Kafka?
答案 0 :(得分:1)
每个侦听器都需要一个不同的使用者/容器工厂。然后使用@KafkaListener上的containerFactory属性指定要使用的工厂。