Fork me on GitHub

跟我学Spring Cloud(Finchley版)-22-Spring Cloud Config-配置动态刷新

目录

先解释下为什么突然断更半个月:

  • 正月初三 - 正月十二:父亲肺气肿住院;母亲肺炎,也要挂水,故请假照顾。
  • 正月十四 - 正月二十:奶奶摔了一跤,突然离世…老家有守夜、办丧的习俗,请假事丧。

总之,2019开局很不顺利……Anyway,今天开工,今天恢复更新。

配置刷新三要素

  • 依赖中有spring-boot-starter-actuator

  • 添加如下配置,暴露/actuator/refresh 端点:

    1
    2
    3
    4
    5
    management:
    endpoints:
    web:
    exposure:
    include: refresh
  • 待刷新的配置属性所在的类上添加了@RefreshScope注解 ,例如:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @RestController
    @RefreshScope
    public class ConfigClientController {
    @Value("${profile}")
    private String profile;

    @GetMapping("/profile")
    public String hello() {
    return this.profile;
    }
    }

这样,修改profile 配置后,只需向应用的/actuator/refresh 端点发送POST请求,即可刷新该属性。例如:

1
curl -X POST http://localhost:8081/actuator/refresh

自动刷新、批量刷新-Spring Cloud Bus

参考文档:http://www.itmuch.com/spring-cloud/spring-cloud-bus-auto-refresh-configuration/

引入Cloud Bus后,就会多一个/actuator/bus-refresh 端点

相关文章

评论系统未开启,无法评论!