程序员

springcloud 配置中心热更新方法

2018-10-11  本文已影响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.

上一篇下一篇

猜你喜欢

热点阅读