apache-kafka - 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<>();
解决方案
boot 属性 (1) 仅在 Boot 为您自动配置生产者工厂时使用。由于您正在定义自己的生产者工厂@Bean
(2),因此 Boot's 被禁用并且属性被忽略。
如果您想使用 Boot application.properties
,只需删除您的producerFactory
@Bean
并让 Boot 为您配置生产者工厂。
我不知道config/producer.properties
(3)是什么。
推荐阅读
- python - 为什么 SVG 文件可以包含“cm”并且它在浏览器中正确显示,但在 Visio 或类似程序中却没有?
- php - 如何使用 AJAX 将来自外部 API 的数据解析为 HTML
- javascript - WebBluetooth API:如何获取当前设备的 ID
- caching - 仅在服务人员内部缓存图像
- sql - 如何进行从不同行中减去时间的 sql 查询?
- ios - 在 Swift 5 中编码 URL
- bash - bash脚本中“-D”和“&”的区别
- python - 如何在字典中找到具有最高值的键?
- python - 如何检查一个函数是否是类中的异步函数
- android - Firebase将应用程序上传到google play后将参数名称更改为abcde