Spring / Kafka - 配置属性优先级 - application.properties, bean(ProducerFactory)

Spring / Kafka - configuration properties priorities - application.properties, bean(ProducerFactory)

Kafka 配置属性:

我可以在
中使用相同的 属性 "key"(也可能不同 "value") (1) application.properties,
(2) bean(ProducerFactory/ProducerConfig) 和

如果是,"last-win"是谁?

P.S 是的,我知道,测试一下!但是在 SO 上使用这个 question/answer 也很方便。

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

@Configuration
public class KafkaProducerConfiguration {

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

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

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

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