SpringCloud Config手动刷新及自动刷新

1、Config手动刷新
a、使用@RefreshScope注解

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注解不能少,否则即使调用/refresh,配置也不会刷新
 */
@RestController
@RefreshScope
public class ConfigClientController {

    @Value("${env}")
    private String env;
    
    @Value("${password}")
    private String password;
    
    @Value("${username}")
    private String username;

    @GetMapping("/config/profile")
    public String hello() {
        return this.env+","+this.password+","+this.username;
    }
}

b、post请求config客户端的/refresh端点
http://localhost:6062/refresh

再次访问http://localhost:6062/config/profile,发现配置文件为最新配置。

2、Config自动刷新
1、WebHooks动态刷新

2、spring-cloud-bus动态刷新

原文地址:https://www.cnblogs.com/linjiqin/p/10337990.html