Config中占位符{application}与git中仓库文件名的关系(坑)
今天学习Config在服务端配置侧(与git交互一侧)的具体配置
查阅官方文档可以看到其配置读取
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
就是以上五种配置读取形式,查阅相关资料发现这个application是默认使用spring.application.name也就是服务名称.
然后我设置的服务名称如下:
spring:
application:
name: cloud-config-center #注册进Eureka服务器的微服务名
这个是我github上面的想要读取配置的文件
所以按理来说,输入网址应该是http://config-3344.com:3344/master/cloud-config-center-test.yml就能得到具体的配置信息(这里我已经将config-3344.com映射到127.0.0.1)
但是!并没有,返回了一个空串,程序也没有报错,也就是没有读取成功!
后面尝试了一下,结果发现把这个application占位符改成config就能读到数据
所以说!这里http://config-3344.com:3344/master/cloud-config-center-test.yml 是直接获取cloud-config-center-test.yml资源,但是却找不到
所以应该改成和仓库一样的名字http://config-3344.com:3344/master/config-test.yml
结论
- http://config-3344.com:3344/master/cloud-config-center-test.yml 直接获取cloud-config-center-test.yml资源,其他的配置读取方式也是类似.
- 所以放在远程仓库的配置名字前缀尽量和Config服务名相同!