《Spring Cloud Config官方文档》之提供纯文本

原文链接

7. 提供纯文本

而不是使用Environment抽象(或YAML或其他属性格式中的替代表示形式),应用程序可能需要通用的纯文本配置文件,并且是针对其环境来定制。配置服务器通过/{name}/{profile}/{label}/{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;
}

就像环境配置的源文件一样,“配置文件”用于解析文件名,所以如果你想要一个特定的配置文件,那么/*/development/*/logback.xml将被称为logback-development.xml(优先logback.xml)的文件解决。

如果您不想提供label并让服务器使用默认标签,则可以提供一个useDefaultLabel请求参数。所以,上面的default配置文件的例子可能看起来像/foo/default/nginx.conf?useDefaultLabel

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/98429.html

(0)
上一篇 2021年8月21日 00:02
下一篇 2021年8月21日

相关推荐

发表回复

登录后才能评论