spring-boot - 在 spring-boot application.yaml 中从其他地方引用配置部分
问题描述
我正在配置 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
允许引用其他配置部分有什么好处吗?
解决方案
您可以引用其他属性,但一次一个:
my:
policy: compact
retention: 604800000
producer:
topic.properties:
policy: ${my.policy}
retention: ${my.retention}
推荐阅读
- java - 无法从命令行运行命令:ffmpeg 不转换文件
- java - Selenium chrome 无头问题,卡在登录页面
- javascript - 如何单击没有任何 id 或 name 属性的按钮
- ios - WKWebViews 共享 cookie 存储
- django - 应用程序工作但无法访问 Django 管理页面 - DoesNotExist at /admin
- ios - 计算我在 SpriteKit 中游戏失败的次数?
- python - python - 如何在模块pocketsphinx for python中调用模块pocketshinx?
- python - BeautifulSoup 无法解析嵌套的 div
- javascript - 如何动态更新mongodb中的嵌套对象
- mixpanel - Mixpanel 可以对从未见过的属性值发出警报吗?