美文网首页程序员
springcloud 配置中心热更新方法

springcloud 配置中心热更新方法

作者: 程序之道 | 来源:发表于2018-10-11 16:29 被阅读0次

    spring-cloud版本:Finchley.SR1

    本文是用数据库的方式存储配置信息的,本人觉得 git 的方式实在不适合后期维护与管理

    客户端的pom 配置如下:

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

    客户端yml配置 ,注意要配置上mq,需要用mq传消息:

    spring:
      cloud:
        config:
          discovery:
            enabled: true # 通过服务发现的方式去找配置中心
            serviceId: config_server # 配置中心的名字,直接配置名称可以在配置中心集群的时候实现负载均衡
          profile: dev # 对应配置中心文件的${profile}部分
        bus:
          enabled: true
      rabbitmq:
          host: xxx.xxx.190.69
          port: 5672
          username: guest
          password: guest
    management:
      endpoints:
        web:
          exposure:
            include: bus-refresh
    

    客户端代码 :

    @RestController
    @RefreshScope
    public class UserController {
    
        @Value("${mysql}")
        private String name;
    
        @RequestMapping(value = "/demo/getValue",method = RequestMethod.GET)
        public @ResponseBody  Object getBook(){
            return name;
        }
    

    数据库中要新增一条配置,注意application 列要写上服务名

    image.png

    调用查询配置的接口查询,没有问题ok

    image.png

    修改配置后,调刷新接口


    image.png

    再次调用查询接口,发现配置文件已经更新成功了,done.

    相关文章

      网友评论

        本文标题:springcloud 配置中心热更新方法

        本文链接:https://www.haomeiwen.com/subject/qvibaftx.html