我想尝试spring cloud config
用于微服务项目,其中所有服务都common config
,每项服务multiple configs
。
我了解了如何使用profiles
和spring.profiles.active
来使用多个include
。我想了解如何在配置客户端上加载多个配置?
在我的git repo中,我有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访问属性。
如何访问jmsclient.yml,productclient.yml
应用中orderclient
的属性。
无论如何都要获取配置服务器公开的所有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
....}
如果我的问题不明确或需要更多信息,请告诉我。感谢。
答案 0 :(得分:9)
您可以使用spring.cloud.config.name
属性设置要加载的逗号分隔的配置列表:
spring.cloud.config.name: jmsclient,productclient,orderclient