Spring cloud Config实现配置拉取及手动刷新

前言

使用了SpringCloud的原生配置中心config后,会发现当配置文件更新后,配置中心的客户端无法获取更新后的信息,这是由于配置中心的缓存机制导致的,而SpringCloud也提供了刷新的两种方式,今天就处记录一下其中一种——手动刷新的配置过程。

Config服务搭建

依赖 

Spring cloud Config实现配置拉取及手动刷新_第1张图片

配置

Spring cloud Config实现配置拉取及手动刷新_第2张图片

config有两种拉取配置文件的方式,一种是从git上拉取,一种是从本地拉取,本文从git拉取配置文件并实现手动刷新.

启动类

Spring cloud Config实现配置拉取及手动刷新_第3张图片

加上@EnableConfigServise注解

Userservice服务搭建(普通web项目即可)

依赖

Spring cloud Config实现配置拉取及手动刷新_第4张图片

 此处要将application.yaml改为bootstrap.yaml,引入bootstrap依赖,不然默认会从8888端口就拉取,并不会从我们自定义的config服务的端口拉取配置.(Springboot读取配置顺序问题,bootstrap优先与application)

配置

Spring cloud Config实现配置拉取及手动刷新_第5张图片

 上面箭头是为了手动刷新

下面箭头则是为了从我们自己的config拉取配置信息,

uri:configservice的路径及端口

name:拉取配置文件的名称

profile:可理解为文件后缀

name+-+profile组成了要拉取的文件名,比如上图拉取的是userservice-dev的yaml.

Spring cloud Config实现配置拉取及手动刷新_第6张图片

测试

configservice的userservice-dev文件配置

Spring cloud Config实现配置拉取及手动刷新_第7张图片

 userservice读取配置

 Spring cloud Config实现配置拉取及手动刷新_第8张图片

 Spring cloud Config实现配置拉取及手动刷新_第9张图片

15001为gateway端口,通过gateway路由的16001的service端口. 

 更改密码

Spring cloud Config实现配置拉取及手动刷新_第10张图片

 调用/actuator/refresh接口,提示密码被更新了

Spring cloud Config实现配置拉取及手动刷新_第11张图片

 重新访问userservice端口

Spring cloud Config实现配置拉取及手动刷新_第12张图片

你可能感兴趣的:(SpringCloud,java)