Spring Cloud 参考文档(提供纯文本配置访问)

提供纯文本配置访问

你的应用程序可能需要根据其环境定制的通用纯文本配置文件,而不是使用Environment抽象(或YAML或属性格式中的其中一种替代表示)。Config Server通过/{name}/{profile}/{label}/{path}中的附加端点提供这些,其中nameprofilelabel与常规环境端点具有​​相同的含义,但path是文件名(例如log.xml)。此端点的源文件的定位方式与环境端点相同,相同的搜索路径用于属性和YAML文件,但是,不是聚合所有匹配的资源,而是仅返回要匹配的第一个。

找到资源后,通过使用提供的应用程序名称、配置文件和标签的有效Environment来解析正常格式(${…​})的占位符,通过这种方式,资源端点与环境端点紧密集成,请考虑以下GIT或SVN存储库示例:

application.yml
nginx.conf

其中nginx.conf看起来像这样:

server {
    listen              80;
    server_name         ${nginx.server.name};
}

application.yml像这样:

nginx:
  server:
    name: example.com
---
spring:
  profiles: development
nginx:
  server:
    name: develop.com

/foo/default/master/nginx.conf资源可能如下:

server {
    listen              80;
    server_name         example.com;
}

/foo/development/master/nginx.conf是这样的:

server {
    listen              80;
    server_name         develop.com;
}

与环境配置的源文件一样,
profile用于解析文件名,因此,如果你需要特定配置文件,
/*/development/*/logback.xml可以被解析为名为
logback-development.xml的文件(优先于logback.xml)。

如果你不想提供
label并让服务器使用默认标签,则可以提供
useDefaultLabel请求参数,因此,
default配置文件的前面示例可能是
/foo/default/nginx.conf?useDefaultLabel

上一篇:Spring Cloud Config Server

下一篇:嵌入Config Server

    原文作者:博弈
    原文地址: https://segmentfault.com/a/1190000018874585
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞