实现SpringCloud Config 客户端自动刷新
程序员文章站
2022-07-03 19:48:09
...
一、简介
在使用SpringCloud Config客户端时,如果Config服务端配置文件发现了变化,如果客户端需要同步的话,需要手动的访问客户端的/refresh(POST请求)端点来刷新客户端配置
使用定时器的方式来解决手动刷新
1、找到类org.springframework.cloud.endpoint.RefreshEndpoint
2、在类中的refresh方法打上一个断点
3、使用Postman工具访问这个断点
访问请求:http://localhost:8080/refresh
4、发现请求进入到了这个方法中
5、结论
只要是访问/refresh地址就会执行这个方法,那么是否可以自己写一个定时器去执行这个方法,达到刷新配置文件的目的
这个方法的执行,实则是contextRefresher执行了refresh方法,才达到刷新配置文件的效果,而contextRefresher是通过构造器注入的,那么我们在其他的方也想使用这个对象的话,只需要加入@Autowired或者是@Resource即可
6、编写Configuration
具体实现:只需要将AutoRefreshConfiguration与启动类能扫描到的地方即可
/**
* 类描述: 实现自动刷新客户端配置
*
* @author wallfacers
* @date 2018/9/12 22:04
* @email <a href="aaa@qq.com">wallfacers</a>
* @sine 1.8
*/
@Configuration
public class AutoRefreshConfiguration {
@Autowired
private ContextRefresher contextRefresher;
/**
* 定时去执行某个方法,refresh方法可以让客户端去拉取配置文件
*/
@Scheduled(fixedRate = 2000L)
public void autoRefreshConfig() {
contextRefresher.refresh();
}
}
7、完整代码
https://github.com/wallfacers/spring-cloud-test/tree/master/spring-cloud-autorefresh-config
上一篇: Springboot2.0集成JPA遇到的一个问题
下一篇: pytorch简介