Springcloud之config组件手动刷新
程序员文章站
2022-06-12 22:50:59
...
简介:
有的时候,我们希望不重新程序服务就可以实时的获取到远程工具的文件的修改值,这时候就需要手动更新机制了,如不会config组件的配置的可以参考我的上篇博文:https://blog.csdn.net/qq_43222167/article/details/105951348
1.首先给远程服务端的文件添加一个属性值,用来测试,我这里添加的是profile属性
profile: one
2.在你配置了config-client的项目中添加jar包,按我的上篇博文来的话就是provider项目
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
3.在配置文件bootstrap.yml中配置属性,取消SpringBoot的验证:
management:
security:
enabled: false
4.在此项目中创建一个controller类,进行测试
package com.jbit.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 OrderController {
@Value("${profile}")
private String profile;
@RequestMapping("t")
public String test(){
System.out.println(profile);
return "success";
}
}
进行测试,首先访问这个请求,我这里是localhost:8071/t
结果输出one,然后改变码云中的profile的属性值,把one改成two,继续访问请求
结果:
现在进行手动刷新,访问请求localhost:8071/refresh,注意是post请求
继续访问localhost:8071/t
由此发现,值已经获取到修改后的,这里有个问题,不知道为什么localhost:8071/refresh访问一遍后再访问localhost:8071/t会报错,localhost:8071/refresh连着访问两遍再访问localhost:8071/t就得出值来了
推荐阅读
-
SpringCloud微服务(06):Config组件,实现配置统一管理
-
SpringCloud学习系列之五-----配置中心(Config)和消息总线(Bus)完美使用版
-
荐 SpringCloud之Config配置中心理论篇
-
android之官方下拉刷新组件SwipeRefreshLayout
-
android之官方下拉刷新组件SwipeRefreshLayout
-
SpringCloud微服务之Config知识总结
-
springcloud配置中心CONFIG自动刷新
-
SpringBoot2.0实现SpringCloud config自动刷新之坑点
-
springcloud之Config初识篇—客户端批量热加载
-
7.springcloud Config配置自动刷新