《Spring Cloud Config官方文档》之提供纯文本
  AnyLlCIhvKpr 2023年11月12日 14 0

7. 提供纯文本

而不是使用Environment抽象(或YAML或其他属性格式中的替代表示形式),应用程序可能需要通用的纯文本配置文件,并且是针对其环境来定制。配置服务器通过/{name}/{profile}/{label}/{path} 在“名称”,“配置文件”和“标签”与常规环境节点具有相同含义的位置处提供了这些附加节点,但“路径”是文件名(例如log.xml)。此节点的源文件与环境节点的位置相同:使用属性或YAML文件相同的搜索路径,但不会汇总所有匹配的资源,并且只返回第一个匹配的资源。

找到资源后,正常格式()中的占位符将使用Environment提供的应用程序名称,配置文件和有效的标签来解析。通过这种方式,资源节点与环境节点紧密集成。例如,如果您拥有GIT(或SVN)存储库的此布局,请执行以下操作:

application.yml
nginx.conf

这里nginx.conf看起来是这样的:

server {
    listen              80;
    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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月15日   36   0   0 多线程同步
  TEZNKK3IfmPf   2023年11月15日   39   0   0 多线程同步
  TEZNKK3IfmPf   2023年11月15日   19   0   0 多线程同步
  TEZNKK3IfmPf   2023年11月15日   22   0   0 多线程同步
AnyLlCIhvKpr