我正在配置 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允许引用其他配置部分有什么好处吗?