繁体   English   中英

spring cloud config如何使用本地属性覆盖远程属性

[英]How spring cloud config use local property override remote property

我知道应该设置以下属性,但仍然对应该在哪里设置它们感到困惑。

spring:
    cloud:
        config:
            allowOverride: true
            failFast: true
            overrideNone: false

spring 云服务器端或客户端或远程 git 存储库上的 application.properties 文件?

我在服务器端的 application.yml 中设置了它们,但不起作用。

我尝试在远程 git 上的 application.yml 中设置,但再次不起作用,希望您能给我一些帮助,谢谢。

我在远程git仓库中设置了以下配置。 这次工作。

spring:
  cloud:
    config:
      allowOverride: true
      overrideNone: true
      overrideSystemProperties: false

从Spring Cloud文档中的覆盖远程属性的值部分:

由引导上下文添加到应用程序的属性源通常是“远程”(例如,来自Config服务器),并且默认情况下,除了命令行之外,它们不能在本地重写。 如果要允许应用程序使用自己的系统属性或配置文件覆盖远程属性,则远程属性源必须通过设置spring.cloud.config.allowOverride=true来授予它权限(它不能用于设置此属性)本地)。

一旦设置了该标志,就会有一些更细粒度的设置来控制远程属性相对于系统属性和应用程序本地配置的位置: spring.cloud.config.overrideNone=true以覆盖任何本地属性源和spring.cloud.config.overrideSystemProperties=false如果只有系统属性和环境变量应该覆盖远程设置,而不是本地配置文件。

因此,它必须在远程application.yml设置(例如远程git存储库)。 如前所述这里 :“应用程序不能自行决定,它可以从远程源覆盖配置”。

'spring boot app'<-- 'config-server'--> 'config-repo'

config-repo中的 application.properties 中设置以下属性

spring.cloud.config.allowOverride=true
spring.cloud.config.overrideNone=true
spring.cloud.config.overrideSystemProperties=false

如果远程文件是 yml 那么下面的格式

spring:
  cloud:
    config:
      allowOverride: true
      overrideNone: true
      overrideSystemProperties: false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM