阅读背景:

spring-cloud-config-server——Environment Repository(File System Backend)

来源:互联网 

参考资料:

  https://cloud.spring.io/spring-cloud-static/spring-cloud-config/1.4.0.RELEASE/single/spring-cloud-config.html

  https://cloud.spring.io/spring-cloud-static/Camden.SR7/

文件系统后端:

  Config Server中有一个不适用Git的"native"配置文件,只是从本地类路径或文件系统中加载配置(你可以使用"spring.cloud.config.server.native.searchLocations"指向任何的静态URL).  

  想要使用native profile,只需要使用“spring.profiles.active=native”启动Config Server即可。

  NOTE:

    记得文件资源使用 file: 前缀(通常的类路径默认是没有前缀的)。

    就像任何的Spring Boot配置一样,可以嵌入${}风格的环境占位符,但是请记住,Windows中绝对路径需要额外的添加"/",例如:file:///${user.home}/config-repo。

  WARNING:

    searchLocations 的默认值与本地的Spring Boot应用程序(所以[classpath:/, classpath:/config, file:./, file:./config])相同。这不会将 application.properties从服务器暴露给所有客户端,因为在发送给客户端前,服务器中存在的任何的属性源将被删除。

  TIP:

    文件系统后端非常适合快速入门和测试。要在成产中使用它,需要保证文件系统是可靠的,并且在Config Server的所有实例中共享。

  搜索位置可以包含{application}{profile}{label}占位符。通过这种方式可以分割路径中的目录,并选择一个对你有意义的策略(例如,每个application的子目录,每个profile的子目录)。

  如果不在搜索位置是用占位符,该存储库也会将HTTP资源的{label}追加到搜索路径的后缀上,因此属性文件将从每个搜索位置和与标签名相同的子目录中加载(被标记的属性在Spring环境中有限)。因此没有占位符的默认行为与末尾添加了/{label}/的搜索位置相同。例如:file:/tmp/configfile:/tmp/config,file:/tmp/config/{label}相同。这个行为可以通过设置spring.cloud.config.server.native.addLabelLocations=false来禁用。

  


分享到: