如何修改配置文件在不重启项目的情况下自动更新项目配置
一。添加依赖
在Config 服务端 和 客户端的pom中加入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
即在config 和order俩个服务中加入依赖
二。修改配置
config 的 application.yml中如下
在order加入如下配置
由于配置文件已经放到了git上,所以直接在git上修改
用来测试配置实时刷新用的配置,无任何实际意义
然后启动项目可以看到
(spring cloud若不配置rabbit mq的登录名什么的,会使用默认参数 guest/guest)
这时我们访问对外暴露的接口http://localhost:8088/actuator/bus-refresh
通过发送post请求
查看order的日志
会从config配置中心获取并读取配置。
可以读取到参数。
修改git上的配置
再次刷新发送post请求
参数实时更新了,并没有重启任何服务。
可以通过git的webhook。当配置文件有任何变得时,自动发送post请求到我们配置中心。