上一章节整合了Config配置中心,已经能够实现通过git统一配置微服务项目的配置,但是存在一个问题,如果单纯直接修改git上的配置文件,对象项目而言是没有动态更新的。
1、测试: (看不懂的看上一章,此章节是紧跟着上一章节进行的测试)
启动,
注意顺序,先启动注册中心,再启动config,最后启动消费服务(不然product服务会报错,因为他的配置是通过config服务去获取的,再又config从git获取)。
如图:启动的服务。
git上配置文件的内容,调用postman请求
返回2222222222.
修改git上的配置文件,再次请求
说明并没有动态改变。
需要重启product服务(配置使用服务),才会生效。
2、改造动态刷新
1、添加spring-boot-starter-actuator依赖(在配置使用服务,此处是product服务)
2、在Controller层添加注解@RefreshScope
使用该注解的类,会在配置中心配置刷新的时候,扫描该类中使用到的配置里面的值,并将刷新后新的值赋给他。
3、修改yml文件
框选部分为新增部分。
4、需要手动执行一句请求。
http://localhost:8488/actuator/refresh
注意:上面的修改都是在消费方的操作(product服务),第四步的端口号是product服务的端口号,别搞错了。
5、测试
git上当前是6666
请求postman,结果如下:
修改git上数据为777
执行上面说的接口
重新请求测试接口
刷新成功,这样就实现了config的动态刷新。