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等消息中间件来实现服务间的通讯
      Java|Java Spring Cloud Bus 实现配置实时更新详解
      文章图片


      ConfigServer改造 目标:使ConfigServer暴露bus-refresh接口,通过bus通知服务更新配置


      1. pom.xml增加以下依赖
      org.springframework.cloudspring-cloud-starter-bus-amqporg.springframework.bootspring-boot-starter-actuator


      2. 配置文件中配置暴露接口
      management.endpoints.web.exposure.include=bus-refresh


      Service改造 1. pom.xml增加以下依赖
      org.springframework.cloudspring-cloud-starter-bus-amqporg.springframework.bootspring-boot-starter-actuator


      2. 通过@RefreshScope声明配置刷新时需要重新注入
      @RefreshScope@Controllerpublic class LblController {


      测试 1. 修改git仓库上的配置文件
      Service配置没有更新
      2. 调用http://localhost:8081/actuator/bus-refresh(POST)
      Service配置更新

      总结 本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

        推荐阅读