嵌入 Config 伺服器
Config 伺服器最好以獨立應用程式的方式執行。但是,如有需要,您可以將其嵌入到另一個應用程式中。若要這樣做,請使用 @EnableConfigServer
註解。在這種情況下,名為 spring.cloud.config.server.bootstrap
的可選屬性可能會很有用。它是一個標誌,用於指示伺服器是否應從其自己的遠端儲存庫設定自身。預設情況下,此標誌是關閉的,因為它可能會延遲啟動。但是,當嵌入到另一個應用程式中時,以與任何其他應用程式相同的方式初始化是有意義的。當將 spring.cloud.config.server.bootstrap
設定為 true
時,您也必須使用複合環境儲存庫組態。例如
spring:
application:
name: configserver
profiles:
active: composite
cloud:
config:
server:
composite:
- type: native
search-locations: ${HOME}/Desktop/config
bootstrap: true
如果您使用 bootstrap 標誌,則 config 伺服器需要在 bootstrap.yml 中設定其名稱和儲存庫 URI。 |
若要變更伺服器端點的位置,您可以(選擇性地)設定 spring.cloud.config.server.prefix
(例如,/config
),以在字首下提供資源。字首應以 /
開頭,但不以 /
結尾。它適用於 Config 伺服器中的 @RequestMappings
(也就是說,在 Spring Boot server.servletPath
和 server.contextPath
字首之下)。
如果您想要直接從後端儲存庫 (而不是從 config 伺服器) 讀取應用程式的組態,您基本上需要一個沒有端點的嵌入式 config 伺服器。您可以完全關閉端點,方法是不使用 @EnableConfigServer
註解 (設定 spring.cloud.config.server.bootstrap=true
)。