首页 > 解决方案 > Spring/Kafka - 配置属性优先级 - application.properties, bean(ProducerFactory)

问题描述

Kafka配置属性:

我能否在
(1) application.properties、
(2) bean(ProducerFactory/ProducerConfig) 和

如果是,谁是“最后的赢家”

PS是的,我知道,测试它!但是在 SO 上有这个问题/答案也会很方便。

编辑:
示例:
(1) spring.kafka.producer.properties.enable.idempotence=true
(2) props.put(ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, "false");
道具定义为:

@Configuration
public class KafkaProducerConfiguration {

    @Bean
    public ProducerFactory<Object, Object> producerFactory() {
        Map<String, Object> props = new HashMap<>();

标签: apache-kafkaspring-kafka

解决方案


boot 属性 (1) 仅在 Boot 为您自动配置生产者工厂时使用。由于您正在定义自己的生产者工厂@Bean(2),因此 Boot's 被禁用并且属性被忽略。

如果您想使用 Boot application.properties,只需删除您的producerFactory @Bean并让 Boot 为您配置生产者工厂。

我不知道config/producer.properties(3)是什么。


推荐阅读