Spring Cloud Config 配置刷新

https://www.cnblogs.com/hfultrastrong/p/8562320.html

Spring Cloud Config 配置刷新

客户端进行刷新操作。

1、添加 actuator包,这样 /refresh url才处于可用状态。

1
2
3
4
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

  

2、手动测试时,关闭权限认证,否则访问时会出现无权限。

1
2
3
management:
  security:
    enabled: false

Spring Cloud Config 配置刷新

 

3、在controller上添加@RefreshScope注解,添加@RefreshScope类会在配置更改时特殊的处理。

  是否可用在 其他用到配置的的类上 未测试。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.thunisoft.thunisoftmicroservicetestconfig.controller;
 
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RefreshScope
@RestController
public class DisplayConfigController {
 
    @Value("${profile}")
    private String profile;
 
    @GetMapping("/")
    public String showConfig() {
        return this.profile;
    }
}

Spring Cloud Config 配置刷新

 

4、刷新配置

1
2
3
D:\curl\AMD64>curl -X POST http://localhost:7989/refresh
["config.client.version","profile"]
D:\curl\AMD64>

  

之后配置会更新为最新值。