Spring Cloud Config的占位符


公司要给老板看最近的开发的产品,匆忙之中,部署一套开发环境,以为很顺利,但是也给自己挖各种坑,也遇到一个Srping的bug

$占位符

公司项目的配置中心,配置文件都写resource里,还在开发,暂时还不想弄到git上面

config服务端用一开始是用美元符号动态获取数据

1
2
server.port=${server.port}
spring.boot.admin.client.url=${spring.boot.admin.client.url}

在电脑上所有微服务都能正常跑起来,可是部署在Centos里就会随机报错

都是类似这样找不到值的,首先配置中心服务端是正常启动,客户端在启动的过程中也是能够正确找到配置中心服务端
而且这个错误,不是每次都会发生的,有的项目一定会报错,有的就看时候,谷歌一般,就看到有人用@符号

@占位符

@符号就都能启动了,我也表示很服气,有时候在github看到的开源项目也见到有人用过这个,就没有留意

1
2
server.port=@server.port@
spring.boot.admin.client.url=@spring.boot.admin.client.url@

Spring Cloud的配置中心还是有很多坑,虽然没有用过别的配置中心,也不知道会不会有相似的问题,最常见的就是在Eclipse启动的服务,各种找不到配置中心,但是用IDEA就能找到,老大用的Eclipse,遇到这种报错,我就很尴尬了…

之后没事的时候还是得看下别的配置中心,Spring Cloud的配置中心功能还是太简单,感觉就没有什么功能,优先还是会考虑阿波罗