Spring Cloud从0开始(七)消息总线实现动态配置更新:Spring Cloud Bus

如何修改配置文件在不重启项目的情况下自动更新项目配置
一。添加依赖
在Config 服务端 和 客户端的pom中加入依赖


		org.springframework.cloud
		spring-cloud-starter-bus-amqp
	

即在config 和order俩个服务中加入依赖
二。修改配置
config 的 application.yml中如下
Spring Cloud从0开始(七)消息总线实现动态配置更新:Spring Cloud Bus_第1张图片

在order加入如下配置
由于配置文件已经放到了git上,所以直接在git上修改
Spring Cloud从0开始(七)消息总线实现动态配置更新:Spring Cloud Bus_第2张图片
用来测试配置实时刷新用的配置,无任何实际意义
Spring Cloud从0开始(七)消息总线实现动态配置更新:Spring Cloud Bus_第3张图片
Spring Cloud从0开始(七)消息总线实现动态配置更新:Spring Cloud Bus_第4张图片

然后启动项目可以看到
Spring Cloud从0开始(七)消息总线实现动态配置更新:Spring Cloud Bus_第5张图片
(spring cloud若不配置rabbit mq的登录名什么的,会使用默认参数 guest/guest)

这时我们访问对外暴露的接口http://localhost:8088/actuator/bus-refresh
通过发送post请求
Spring Cloud从0开始(七)消息总线实现动态配置更新:Spring Cloud Bus_第6张图片

Spring Cloud从0开始(七)消息总线实现动态配置更新:Spring Cloud Bus_第7张图片

查看order的日志
Spring Cloud从0开始(七)消息总线实现动态配置更新:Spring Cloud Bus_第8张图片
会从config配置中心获取并读取配置。
Spring Cloud从0开始(七)消息总线实现动态配置更新:Spring Cloud Bus_第9张图片
可以读取到参数。

修改git上的配置
Spring Cloud从0开始(七)消息总线实现动态配置更新:Spring Cloud Bus_第10张图片

再次刷新发送post请求
Spring Cloud从0开始(七)消息总线实现动态配置更新:Spring Cloud Bus_第11张图片

参数实时更新了,并没有重启任何服务

可以通过git的webhook。当配置文件有任何变得时,自动发送post请求到我们配置中心。

你可能感兴趣的:(Spring,Cloud)