spring cloud config:如何使用多个配置
Posted
技术标签:
【中文标题】spring cloud config:如何使用多个配置【英文标题】:spring cloud config : how to use multiple configs 【发布时间】:2017-01-06 00:47:06 【问题描述】:我想尝试什么:
我想为微服务项目尝试spring cloud config
,其中我有一个用于所有服务的common config
和一个用于每个服务的multiple configs
。
我知道如何使用spring.profiles.active
和include
来使用多个profiles
。我想了解如何在配置客户端上加载多个配置?
我有什么:
在我的 git 存储库中,我有 spring-config-repo
...
application.yml
orderclient.yml
subscriberclient.yml
jmsclient.yml
productclient.yml
我的config Server
指向我的配置仓库。
spring:
application:
name: config-service
cloud:
config:
server:
git:
uri: https://github.com/<user>/spring-config-repo
server:
port: 8888
我有我的spring client
,我想在其中使用多个配置。对于orderService
,我想加载application.yml,orderclient.yml,jmsconfig.yml
,对于产品微服务,我需要'orderconfig.yml,jmsclient.yml,productclient.yml'
spring:
application:
name: orderclient
profiles:
active: test
cloud:
config:
uri: http://localhost:8888
###Any kind of config properties to load jmsclient, productclient?
上面我可以从 orderclient.yml 访问属性。
我的问题:
问题1:
如何在orderclient
应用程序中访问jmsclient.yml,productclient.yml
的属性。
问题2:
无论如何要获取配置服务器公开的所有propertySources.name
的列表吗?在上述情况下它应该显示在哪里
"propertySources":
"name": "https://github.com/<>/spring-config-repo/aplication.yml",
"profiles": <available profiles for this say> Dev, Test,
"name": "https://github.com/<>/spring-config-repo/orderclient.yml",
"profiles": <available profiles for this say> Dev, Test
"name": "https://github.com/<>/spring-config-repo/jmsclient.yml",
"profiles": <available profiles for this say> Dev, Test
....
如果我的问题不清楚或需要更多信息,请告诉我。谢谢。
【问题讨论】:
【参考方案1】:您可以使用spring.cloud.config.name
属性设置要加载的配置的逗号分隔列表:
spring.cloud.config.name: jmsclient,productclient,orderclient
【讨论】:
这对我不起作用:引导程序:spring.cloud.config.name=redis,jobster 找不到 PropertySource 并且设置了快速失败属性,失败:"timestamp":1625003088090," status":500,"error":"Internal Server Error","exception":"java.lang.IllegalStateException","message":"无法克隆或签出存储库","path":"/redis,jobster/dev " 文档中也没有任何内容 cloud.spring.io/spring-cloud-config/multi/… 只是该标签可以用逗号分隔作为故障转移。以上是关于spring cloud config:如何使用多个配置的主要内容,如果未能解决你的问题,请参考以下文章
spring cloud config如何使用本地属性覆盖远程属性