查看原文
其他

SpringCloud动态刷新配置信息

2017-10-15 javastack Java技术栈


有时候在配置中心有些参数是需要修改的,这时候如何不重启而达到实时生效的效果呢?

添加依赖

  1. <dependencies>

  2.    ...

  3.    <dependency>

  4.        <groupId>org.springframework.boot</groupId>

  5.        <artifactId>spring-boot-starter-actuator</artifactId>

  6.    </dependency>  

  7.    ...

  8. </dependencies>

spring-boot-starter-actuator:这个模块的/refresh(POST请求)端点可以刷新配置,更多的使用参考Spring Boot系列文章。

生效前提

在需要刷新的Bean上添加@RefreshScope注解。

  1. @RefreshScope

  2. @RestController

  3. public class TestController {

  4.    @Value("${username}")

  5.    private String username;

  6. ...

当配置更改时,标有@RefreshScope的Bean将得到特殊处理来生效配置。

扩展问题

如果项目少配置少的情况可以通过/refresh来手动刷新配置,如果项目比较复杂的情况呢这种肯定是行不通的,Spring Cloud Bus消息总线可以解决配置修改的真正的动态刷新。

推荐阅读



什么是Spring Boot?

Spring Boot开启的2种方式

Spring Boot Starters启动器

Spring Boot定制启动图案

Spring Boot核心配置

Spring Boot功能实战

Spring Boot自动配置原理、实战

Spring Boot Runner启动器

Spring Boot - Profile不同环境配置


看完有没有收获?

分享到朋友圈给更多的人吧。




  Java技术栈  
微信公众号:「Javastack

分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。


 ▼长按二维码关注我们↓↓↓


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存