zoukankan      html  css  js  c++  java
  • Spring boot 应用实现动态刷新配置

    1. 依赖

    需要引入下面三个依赖:

    compile('org.springframework.cloud:spring-cloud-starter-config')
    compile('org.springframework.boot:spring-boot-starter-actuator')
    compile('org.springframework.boot:spring-boot-starter-web')

    (1)spring-cloud-starter-config是为了实现刷新配置
    (2)spring-boot-starter-actuator是为了暴露修改/刷新配置的接口
    (3)spring-boot-starter-web是为了可以访问暴露的修改/刷新配置的接口

    2. 配置暴露接口

    application.properties

    #使用端口9999
    server.port=9999
    #暴露接口
    management.endpoints.web.exposure.include=env,refresh

    (1)env接口,可以获取配置(GET),也可以修改配置(POST)
    (2)refresh接口,可以刷新配置(POST),使得@RefreshScope标注的value可以重新注入。

    3. @RefreshScope

    在需要实时刷新配置的地方加上@RefreshScope注解

    4. 启动服务

    5. 修改配置

    访问localhost:9999/actuator/env(GET),可以获得此时的配置
    访问localhost:9999/actuator/env(POST)

    {
        "name":"somekey",
        "value":"newvalue"
    }

    如上可以把配置中somekey对应的值改为newvalue

    6. 获取配置值

    不调用刷新接口,直接获取注入的配置值,发现还是旧的值

    7. 刷新配置 重新获取

    访问localhost:9999/actuator/refresh(POST)刷新配置
    重新获取注入的配置值,发现是新的值

  • 相关阅读:
    elipse图标注解
    Thrift源码解析--transport
    IDL和生成代码分析
    thrift概述
    less分页阅读
    this与super使用总结(java)
    more分页阅读
    Arrays
    Teigha克隆db的blockTableRecord里面的一个实体
    Teigha的BlockTableRecord获取方法
  • 原文地址:https://www.cnblogs.com/rinack/p/14037954.html
Copyright © 2011-2022 走看看