【发布时间】:2021-10-14 11:34:36
【问题描述】:
如果作为对象而不是属性中的类名提供,是否可以覆盖 ConsumerFactory 配置的反序列化器?也许在 ContainerCustomizer 中?
【问题讨论】:
标签: spring-boot apache-kafka kafka-consumer-api spring-kafka
如果作为对象而不是属性中的类名提供,是否可以覆盖 ConsumerFactory 配置的反序列化器?也许在 ContainerCustomizer 中?
【问题讨论】:
标签: spring-boot apache-kafka kafka-consumer-api spring-kafka
没有;这是不可能的 - 您可以提供对象的唯一方法是在创建消费者之前通过工厂构造函数或设置器;您根本无法覆盖这些,即使使用属性也不行,因为它们会直接传递给KafkaConsumer,并且它们将被使用而不是属性中指定的任何内容。
见ConsumerConfig.appendDeserializerToConfig()。
如果你想用对象覆盖默认值,你需要使用不同的消费者工厂。
【讨论】: