屬性覆蓋

Config Server 有一個“覆蓋”功能,允許操作員為所有應用程式提供配置屬性。透過正常的 Spring Boot 鉤子,被覆蓋的屬性不會被應用程式意外更改。要宣告覆蓋,請將名稱-值對的對映新增到 spring.cloud.config.server.overrides,如下例所示

spring:
  cloud:
    config:
      server:
        overrides:
          foo: bar

前面的例子使得所有作為配置客戶端的應用程式都將讀取 foo=bar,而與其自身的配置無關。

配置系統不能強制應用程式以任何特定方式使用配置資料。因此,覆蓋是不可強制執行的。但是,它們確實為 Spring Cloud Config 客戶端提供了有用的預設行為。
通常,帶有 ${} 的 Spring 環境變數佔位符可以透過使用反斜槓 (\) 轉義 ${ 來轉義(並在客戶端解析)。例如,\${app.foo:bar} 解析為 bar,除非應用程式提供了自己的 app.foo
在 YAML 中,您不需要轉義反斜槓本身。但是,在屬性檔案中,當您在伺服器上配置覆蓋時,確實需要轉義反斜槓。

您可以透過在遠端倉庫中設定 spring.cloud.config.overrideNone=true 標誌(預設為 false),將客戶端中所有覆蓋的優先順序更改為更像預設值,從而允許應用程式在環境變數或系統屬性中提供自己的值。

© . This site is unofficial and not affiliated with VMware.