引用spring cloud config时,Spring cloud默认以远程配置为最高优先级,如果希望本地的配置文件(如application.yml或bootstrap.yml)的某些属性能覆盖远程的同名属性值,则需要在远程配置文件增加以下属性配置(以下所述属性均在PropertySourceBootstrapProperties):
1 2 3 4
| spring: cloud: config: overrideNone: true
|
该配置的含义是远程配置不覆盖本地配置(双重否定?太有才了)
true表示远程配置不覆盖本地同名属性
false表示远程配置覆盖本地同名属性 默认为false,(远程配置同名属性覆盖本地配置同名属性)
注意:该属性参数值需要配置在远程配置文件中,配置在本地配置文件不生效(如application.yml或bootstrap.yml)
该设置为true,则外部属性(指远程配置)具有最低的优先级,不覆盖任何本地已经存在的属性配置值。
1 2 3 4
| spring: cloud: config: allowOverride: true
|
该配置的含义是远程配置是否允许被本地属性覆盖 默认true, 该属性必须配置在远程配置(在本地配置该属性是不能生效的),该参数默认为true不需要特别设置
1 2 3 4
| spring: cloud: config: overrideSystemProperties: true
|
该配置的含义是远程是否覆盖系统配置 默认true, 该属性必须配置在远程配置中(在本地配置该属性是不能生效的)。例如,如果希望在启动时可能通过环境变量或程序参数修改某个配置,需要将该属性在远程配置中设置为false。
例:系统配置指通过命令行参数或环境变量方式 指定配置属性值.
1
| java –jar xxx.jar --spring.cloud.stream.bindings. BusInput.group= collector-local
|