一、概述
参考鄙人之前博客:SpringCloud全家桶学习之分布式配置中心----Config(七)
SpringCloud官网:https://spring.io/projects/spring-cloud-config
二、Config Server端
三、Config Client端
问题随之而来:修改Github配置文件时,ConfigServer可以拿到最新文件,而客户端则需要重新获取最新的代码,问题演示如下:
四、Config Client动态刷新之手动版
1、pom添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
2、bootstrap.yml新增配置
#暴露监控端点 management: endpoints: web: exposure: include: "*"
3、添加注解@RefreshScope
@RestController @RefreshScope public class ConfigClientController { @Value("${config.info}") private String configInfo; @GetMapping("/configInfo") public String getConfigInfo(){ return configInfo; } }
4、curl命令请求刷新
curl -X POST "http://localhost:3355/actuator/refresh"
手动刷新版测试完成~避免了客户端重启,但修改配置文件后需要发送请求刷新。但还是不够完美,可以进行广播,一次通知,处处生效,可参考:SpringCloud(H版)二阶段学习---Bus消息总线
本工程代码,Github地址:https://github.com/Simple-Coder/cloud2020