使用MQ实现动态刷新配置
1.启动RabbitMQ
2.config项目添加jar,启动项目
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
3.访问RabbitMQ看config是否成功
4.client项目添加jar,启动项目
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
5.访问RabbitMQ看client是否成功
6.现在RabbitMQ已经相互打通
现在我们使用的配置是dev
在Git把dev改成dev1
改完远端执行/bus-refresh来实现动态
这个时候访问发现会报错
这个时候我们需要配置一下config暴露/actuator/bus-refresh
7.修改config项目配置暴露/actuator/bus-refresh
8.启动项目再次POST测试
在MQ后台也可以看到是收到一条消息
9.刷新http://localhost:8080/print看dev是否变成dev1
没变。。是因为少了个注解,在要使用配置的类加上@RefreshScope注解
改完重启项目,由于重启项目刷新就显示dev1了,现在再重复上面的流程
1.git把dev1改为dev2
2.再POST请求http://localhost:8082/actuator/bus-refresh
3.刷新页面测试
成功。