Spring Cloud动态刷新配置信息
有时候在配置中心有些参数是需要修改的,这时候如何不重启而达到实时生效的效果呢?
添加依赖
<dependencies>
...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
...
</dependencies>
spring-boot-starter-actuator
:这个模块的/refresh(POST请求)端点可以刷新配置,更多的使用参考Spring Boot系列文章。
生效前提
在需要刷新的Bean上添加@RefreshScope注解。
@RefreshScope
@RestController
public class TestController {
@Value("${username}")
private String username;
...
当配置更改时,标有@RefreshScope的Bean将得到特殊处理来生效配置。
扩展问题
如果项目少配置少的情况可以通过/refresh来手动刷新配置,如果项目比较复杂的情况呢这种肯定是行不通的,Spring Cloud Bus消息总线可以解决配置修改的真正的动态刷新。
推荐阅读
分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。
关注微信公众号福利!!!
回复关键字「666」获取一份最新 Java 架构资料,你要的都有!
回复关键字「Java」获取JVM, 多线程等Java技术系列教程;
回复关键字「spring」获取Spring, Spring Boot, Spring Cloud教程;
回复关键字「架构」获取分布式、微服务、架构、高并发等系列干货;
回复关键字「面试」获取各种 Java 面试题及答案、面试实战经验;