默认情况下是不能及时获取变更的配置文件信息
Spring Cloud分布式配置中心可以采用手动或者自动刷新
1、手动需要人工调用接口 监控中心
2、消息总线实时通知 springbus
动态刷新数据
在SpringCloud中有手动刷新配置文件和实时刷新配置文件两种方式。
手动方式采用actuator端点刷新数据
实时刷新采用SpringCloud Bus消息总线
actuator端点刷新数据
在config clientr引入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
yml中开启监控断点
management:
endpoints:
web:
exposure:
include: "*"
同时在controller加 @RefreshScope
package com.toov5.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RefreshScope
public class TestController {
@Value("${motto}") //配置的key
private String motto;
@RequestMapping("/getMotto")
public String getMotto() {
return motto;
}
}
开启: 修改git上的配置文件信息
必须要用post请求!
http://127.0.0.1:8882/actuator/refresh