首页 文章

如何使用Spring Config Service设置本地配置属性

提问于
浏览
0

所以我最近学会了Spring Cloud的这个很棒的配置服务,经过一番努力,我能够设置我们的分布式应用程序,多个节点从一个配置服务器读取配置属性 .

然而,我不知道如何解决的一个问题是即使大多数道具在多个节点上是相同的,一些道具需要本地版本,我不知道如何将本地道具与配置服务一起设置 .

例如,这是我的 bootstrap.properties

spring.cloud.config.uri=${config.server:http://localhost:8888}
spring.application.name=worker

如果我在 bootstrap.properties 下或在单独的 application.properties 文件中添加其他道具,我可以在 Actuator 的env endpoints 下看到它们,像这样,

configService:file:///home/me/work/config-test/worker.properties: 
{
    server.timeout: "100"
},

applicationConfig: [classpath:/application.properties]: {
    server.timeout: "50"
},

在我的应用程序中 server.timeout 现在总是100,我不知道当我使用像这样的集中配置服务时如何引用本地值?

1 回答

  • 0

    好的,经过一些研究,我找到了答案 . 从https://docs.pivotal.io/spring-cloud-services/config-server/configuration-clients.html

    Spring应用程序可以使用Config Server作为属性源 . 来自Config Server的属性将覆盖本地定义的属性(例如,通过类路径中的application.yml) .

    因此,正确的做法是将任何客户端属性保留在配置服务之外 . 这对我来说也意味着对于这样的属性,没有办法有一个默认值,只有在客户端值出现时才会被覆盖,这样做会很好 .

相关问题