SpringCloud 環(huán)境Repository

2023-06-16 15:55 更新

您應(yīng)該在哪里存儲(chǔ)配置服務(wù)器的配置數(shù)據(jù)?控制此行為的策略是服務(wù)Environment對象的EnvironmentRepository。Environment是Spring Environment的域的淺表副本(包括propertySources作為主要特征)。Environment資源由三個(gè)變量參數(shù)化:

  • {application},它映射到客戶端的spring.application.name。
  • {profile},它映射到客戶端上的spring.profiles.active(以逗號分隔的列表)。
  • {label},這是服務(wù)器端功能,標(biāo)記了一組“版本化”的配置文件。

Repository實(shí)現(xiàn)通常類似于Spring Boot應(yīng)用程序,從等于{application}參數(shù)的spring.config.name和等于{profiles}參數(shù)的spring.profiles.active加載配置文件。配置文件的優(yōu)先規(guī)則也與常規(guī)Spring Boot應(yīng)用程序中的規(guī)則相同:活動(dòng)配置文件的優(yōu)先級高于默認(rèn)設(shè)置,并且,如果有多個(gè)配置文件,則最后一個(gè)優(yōu)先(與向Map添加條目類似)。

以下示例客戶端應(yīng)用程序具有此引導(dǎo)程序配置:

bootstrap.yml。 

spring:
  application:
    name: foo
  profiles:
    active: dev,mysql

(與Spring Boot應(yīng)用程序一樣,這些屬性也可以由環(huán)境變量或命令行參數(shù)設(shè)置)。

如果存儲(chǔ)庫基于文件,則服務(wù)器從application.yml(在所有客戶端之間共享)和foo.yml(以foo.yml優(yōu)先)創(chuàng)建一個(gè)Environment。如果YAML文件中包含指向Spring配置文件的文檔,則將以更高的優(yōu)先級應(yīng)用這些文件(按列出的配置文件的順序)。如果存在特定于配置文件的YAML(或?qū)傩裕┪募@些文件也將以比默認(rèn)文件更高的優(yōu)先級應(yīng)用。較高的優(yōu)先級會(huì)轉(zhuǎn)換為Environment中較早列出的PropertySource。(這些相同的規(guī)則適用于獨(dú)立的Spring Boot應(yīng)用程序。)

您可以將spring.cloud.config.server.accept-empty設(shè)置為false,以便在未找到應(yīng)用程序的情況下Server返回HTTP 404狀態(tài)。默認(rèn)情況下,此標(biāo)志設(shè)置為true。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號