springcloud 配置中心热更新方法

spring-cloud版本:Finchley.SR1

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

客户端的pom 配置如下:

        
            org.springframework.boot
            spring-boot-starter-actuator
        
        
            org.springframework.cloud
            spring-cloud-starter-bus-amqp
        

客户端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 列要写上服务名

springcloud 配置中心热更新方法_第1张图片
image.png

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

springcloud 配置中心热更新方法_第2张图片
image.png

修改配置后,调刷新接口


springcloud 配置中心热更新方法_第3张图片
image.png

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

你可能感兴趣的:(springcloud 配置中心热更新方法)