前言
项目如何接入spring cloud config,请看上文链接
实际使用中,项目启动顺序是:
- 启动服务注册中心(register-service)
- 启动配置中心(config-service)
- 启动客户端
这样就导致配置中心如果更新配置文件或者停掉服务,并不影响客户端使用配置文件(此时已经加载配置文件),但是我们想要的效果是:如果修改了配置文件,客户端也可以做出响应
手动刷新更新配置文件
客户端pom.xml中引入了spring-boot-starter-actuator并在客户端配置文件中确认有如下代码段
management:
endpoints:
web:
exposure:
include: refresh
在使用配置文件内容的controller中增加注释@RefreshScope

在postman(或浏览器重发)请求http://localhost:8520/actuator/refresh

如果请求成功且配置文件有修改,会有返回结果,否则就会返回空结果。
这个时候到swagger去验证,会发现我们虽然没有重启服务,但是配置修改已生效

自动更新
<!-- springcloud-bus依赖实现配置自动更新,rabbitmq -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
需要提前安装rabbitmq
本系列旨在深入了解spring全家桶式开发,相关的mq、mysql等会在该系列结束后另开专栏,详细介绍并接入项目中

被折叠的 条评论
为什么被折叠?



