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.activeinclude 来使用多个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如何使用本地属性覆盖远程属性

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

如何使用 env 特定配置创建 Spring Cloud Config Client?

Spring Cloud之——Config(配置中心)

Spring Cloud 如何搭建Config

如何保护 Spring Cloud Config Server