我正在配置 spring boot kafka 流application.yaml
。我需要配置输出主题的属性:
producer:
topic.properties:
cleanup.policy: compact
retention.ms: 604800000
因为我在整个文件中具有相同的配置,所以我想在哪里定义值:
my:
policy: compact
retention: 604800000
producer:
topic.properties:
cleanup.policy: ${my.policy}
retention.ms: ${my.retention}
但这topic.properties
只是传递给底层 kafka 库的通用映射。为了使配置更加灵活,我想参考my
. producer.topic.properties
因此,当添加新的 kafka 属性时,只会my
更新部分。
我试过了:
producer:
topic.properties: ${my}
但这不起作用 -${my}
被替换my.toString()
并且配置在获取预期 Map 的字符串时失败。
我正在寻找一些部分占位符。例如,在 OpenAPI Spec 中,您可以执行以下操作:
my:
policy: compact
retention: 604800000
producer:
topic.properties:
$ref: '/my'
我知道基本的 YAML 不支持引用。但是spring-boot
允许引用其他配置部分有什么好处吗?