spring cloud config:如何使用多个配置

时间:2016-08-29 21:30:41

标签: java microservices spring-cloud-config

我想尝试的内容:

我想尝试spring cloud config用于微服务项目,其中所有服务都common config,每项服务multiple configs。 我了解了如何使用profilesspring.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访问属性。

我的问题:

问题1:

如何访问jmsclient.yml,productclient.yml应用中orderclient的属性。

问题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 个答案:

答案 0 :(得分:9)

您可以使用spring.cloud.config.name属性设置要加载的逗号分隔的配置列表:

spring.cloud.config.name: jmsclient,productclient,orderclient