我正在考虑通过Spring Cloud Config实现12factor方法来外化配置,但是我无法按照预期使用searchPaths来使用通配符。
文档http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_spring_cloud_config_server提到可以在searchPaths变量中使用通配符{application},{label},{profile},以便“您可以隔离路径中的目录,并选择策略这对你有意义(例如每个应用程序的子目录,或每个配置文件的子目录)。“
我希望有一个git仓库,每个配置文件都有子目录(然后是每个应用程序,或每个应用程序的子目录(然后是配置文件)。
e.g。
body
但是,当我在searchPaths中使用任何通配符{application}或{profile}时,它在git repo中找不到数据,或者连接选项根本无法启动。
有没有人有这个我可以参考的实际例子? 干杯 罗伊
答案 0 :(得分:2)
使用单引号,它可以正常工作。
searchPaths: '{application}'
希望如果有人遇到这个问题,这会有所帮助。
答案 1 :(得分:0)
实际上,用户指南中没有一个示例显示searchPaths
列表中使用的模式。我不认为GIT后端支持该功能(但{application}
实际上是文件系统后端的默认功能,即在“原生”配置文件中工作的功能。
答案 2 :(得分:0)
除上述内容外,更重要的是,如果要读取每个环境在多个应用程序之间共享的通用配置(例如application.yml)。然后将application.yml放在一个文件夹中(例如-common),然后配置如下:
searchPaths:
- '{application}'
- common
{application}解析为配置客户端bootstrap.yaml中的“ spring.application.name”值。
参考:closest