springcloud-动态刷新之手动版
配置的读取是:服务--> 配置中心--> github;当github的配置发生改变,配置中心是能实时监控到并读取的,但是我们的服务并没有这个功能,他只是在启动的时候读取一次而已,并没有监控配置中心。目前我就要解决这个问题,步骤如下:
1.在 服务 添加下面的依赖,该依赖用于监控自身的变化
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
2. 配置如下信息,用于暴露监控端点,用于被通知。这里的 * 代表所有端点都暴露,比如info,health,refresh等端点都可以被访问
# 暴露监控端点
management:
endpoints:
web:
exposure:
include: "*"
3. 在要读取配置的业务类上加一个注解,实现动态刷新;记住是在读取配置的业务类加,你加到比如主启动上没有用
@RestController @RefreshScope public class ConfigClientController { @Value("${config.info}") private String configInfo;
4. 做了上面的配置还实现不了动态刷新,还需要手动给 该服务 发送一个post请求的url,用于提示该服务动态刷新,可使用curl发送给该服务的refresh端点如下:
curl -X POST http://localhost:3355/actuator/refresh # /refresh前面是固定的
上面的步骤虽然能实现刷新配置,比重启服务好很多。但是还存在问题,要是有很多个服务呢?那就要手动发送多个post请求就很麻烦,config有没有解决方案呢? 答案是没有,config他自己没有能力做到,但是 消息总线 能做到,比如bus,nacos等等
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~