我想将 Jackson 的 ObjectMapper 注入(inject)到 Kafka ConsumerFactory 的 JsonDeserializer 中。我已经完成了这篇文章中提到的事情:
Inject ObjectMapper into Spring Kafka serialiser/deserialiser
但是,当我在不同主题上有多个 @KafkaListener
时,ConcurrentKafkaListenerContainerFactory
使用属性映射来构造 ConcurrentMessageListenerContainer
的多个实例进行初始化ConsumerFactory
,而不是传递给 ConcurrentKafkaListenerContainerFactory.setConsumerFactory()
的实例。只有第一个 ConcurrentMessageListenerContainer
使用正确的 ConsumerFactory
。
如何解决此问题并正确配置 Kafka?
最佳答案
您需要为每个监听器使用不同的消费者/容器工厂。然后使用@KafkaListener上的containerFactory属性来指定要使用的工厂。
关于java - Spring Boot 将 ObjectMapper 注入(inject) Kafka JsonDeserializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55013421/