微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

springcloud-动态刷新之手动版

  配置的读取是:服务--> 配置中心--> github;当github的配置发生改变,配置中心是能实时监控到并读取的,但是我们的服务并没有这个功能,他只是在启动的时候读取一次而已,并没有监控配置中心。目前我就要解决这个问题,步骤如下:

  1.在 服务 添加下面的依赖,该依赖用于监控自身的变化

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

  2. 配置如下信息,用于暴露监控端点,用于被监控

# 暴露监控端点
management:
  endpoints:
    web:
      exposure:
        include: "*"

  3. 在要读取配置的业务类上加一个注解,实现动态刷新;记住是在读取配置的业务类加,你加到比如主启动上没有用

@RestController
@RefreshScope
public class ConfigClientController {

    @Value("${config.info}")
    private String configInfo;

  4. 做了上面的配置还实现不了动态刷新,还需要手动给 该服务 发送一个post请求的url,用于提示该服务动态刷新,可使用curl发送,如下:

curl -X POST http://localhost:3355/actuator/refresh

  上面的步骤虽然能实现刷新配置,比重启服务好很多。但是还存在问题,要是有很多个服务呢?那就要手动发送多个post请求就很麻烦,config有没有解决方案呢? 答案是没有,config他自己没有能力做到,但是 消息总线 能做到,比如bus,nacos等等

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐