Java|Java Spring Cloud Bus 实现配置实时更新详解
目录
- 背景
- 实现原理
- ConfigServer改造
- 1. pom.xml增加以下依赖
- 2. 配置文件中配置暴露接口
- Service改造
- 1. pom.xml增加以下依赖
- 2. 通过@RefreshScope声明配置刷新时需要重新注入
- 测试
- 总结
背景 使用
Spring Cloud Config Server,
启动Service时会从配置中心取配置文件,并注入到应用中,如果在Service运行过程中想更新配置,需要使用Spring Cloud Bus配合实现实时更新。【Java|Java Spring Cloud Bus 实现配置实时更新详解】
实现原理 需要借助RabbitMQ等消息中间件来实现服务间的通讯
文章图片
ConfigServer改造 目标:使ConfigServer暴露bus-refresh接口,通过bus通知服务更新配置
1. pom.xml增加以下依赖
org.springframework.cloud spring-cloud-starter-bus-amqporg.springframework.boot spring-boot-starter-actuator
2. 配置文件中配置暴露接口
management.endpoints.web.exposure.include=bus-refresh
Service改造 1. pom.xml增加以下依赖
org.springframework.cloud spring-cloud-starter-bus-amqporg.springframework.boot spring-boot-starter-actuator
2. 通过@RefreshScope声明配置刷新时需要重新注入
@RefreshScope@Controllerpublic class LblController {
测试 1. 修改git仓库上的配置文件
Service配置没有更新
2. 调用http://localhost:8081/actuator/bus-refresh(POST)
Service配置更新
总结 本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- Activiti(一)SpringBoot2集成Activiti6
- 事件代理
- SpringBoot调用公共模块的自定义注解失效的解决
- Java|Java OpenCV图像处理之SIFT角点检测详解
- 解决SpringBoot引用别的模块无法注入的问题
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- 2018-07-09|2018-07-09 Spring 的DBCP,c3p0