gpt4 book ai didi

java - 使用@KafkaListener 时以编程方式设置属性

转载 作者:搜寻专家 更新时间:2023-10-31 20:16:42 25 4
gpt4 key购买 nike

我在我的 spring boot 应用程序中使用了 @KafkaListener 注释,而没有创建自定义 KafkaListenerContainerFactory bean。我目前正在我的 application.yml 文件中设置 spring.kafka.consumer.value-deserializer 属性来分配我的反序列化器,并且更喜欢以编程方式执行此操作以进行编译时检查。我意识到创建自己的 KafkaListenerContainerFactory 允许我在工厂设置此属性,但我想避免样板和一些额外的复杂性来获得 SSL 设置。

有没有一种简单的方法可以在不创建我自己的 KafkaListenerContainerFactory 的情况下以编程方式设置我的值反序列化器?

最佳答案

反序列化器继续用于创建消费者工厂的属性,而不是容器工厂,您可以按如下方式覆盖引导的消费者工厂:

@Bean
public ConsumerFactory<?, ?> kafkaConsumerFactory(KafkaProperties properties) {
Map<String, Object> props = properties.buildConsumerProperties();
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, MyDeserializer.class);
return new DefaultKafkaConsumerFactory<>(props);
}

关于java - 使用@KafkaListener 时以编程方式设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54471444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com