spring cloud config本地配置覆盖远程配置属性

使用spring cloud config远程配置中心作为spring应用的配置时,如果想修改某些属性,需要去修改远程配置,这会导致共用该配置的所有人都一起受影响。有时侯我们只是想临时修改某个变量来为进行调试而已。

引用spring cloud config时,Spring cloud默认以远程配置为最高优先级,如果希望本地的配置文件(如application.yml或bootstrap.yml)的某些属性能覆盖远程的同名属性值,则需要在远程配置文件增加以下属性配置(以下所述属性均在PropertySourceBootstrapProperties):

  1. spring.cloud.config.overrideNone=true

该配置的含义是远程配置不覆盖本地配置(双重否定?太有才了)

true表示远程配置不覆盖本地同名属性

false表示远程配置覆盖本地同名属性 默认为false(远程配置同名属性覆盖本地配置同名属性)

注意:该属性参数值需要配置在远程配置文件中,配置在本地配置文件不生效(如application.yml或bootstrap.yml)
在这里插入图片描述

该属性的注释如下:
在这里插入图片描述
该设置为true,则外部属性(指远程配置)具有最低的优先级,不覆盖任何本地已经存在的属性配置值。

2)spring.cloud.config.allowOverride=true

该配置的含义是远程配置是否允许被本地属性覆盖 默认true 该属性必须配置在远程配置(在本地配置该属性是不能生效的),该参数默认为true不需要特别设置

该属性的注释如下:
在这里插入图片描述

注:这里如果把external properties写成远程配置属性还好理解一点

  1. spring.cloud.config.overrideSystemProperties=true

该配置的含义是远程是否覆盖系统配置 默认true 该属性必须配置在远程配置中(在本地配置该属性是不能生效的)。例如,如果希望在启动时可能通过环境变量或程序参数修改某个配置,需要将该属性在远程配置中设置为false。

例:

java –jar xxx.jar --spring.cloud.stream.bindings. BusInput.group= collector-local

系统配置指通过命令行参数或环境变量方式 指定配置属性值

转载自: https://blog.csdn.net/yousite1/article/details/109325224

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值