Spring Cloud全解析:配置中心之springCloudConfig分布式配置动态刷新

news2025/10/23 3:21:42

分布式配置动态刷新

当配置中心中的配置修改之后,客户端并不会进行动态的刷新,每次修改配置文件之后,都需要重启客户端,那么如何才能进行动态刷新呢

可以使用@RefreshScope注解配合actuator端点进行手动刷新,不需要重启客户端

需要引入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

配置文件配置

# 端点管理
management:
  endpoints:
    web:
      exposure:
        include: "*"  # 暴露端点,*表示全部暴露  刷新需要用到的是refresh端点

并在用到配置文件信息的类上增加@RefreshScope注解

@RestController
@RefreshScope
public class TestController {

    @Value("${version}")
    private String version;

    @RequestMapping("/test")
    public String test(){
        return version;
    }
}

此时git上的配置文件修改,只需要使用post请求调用http://ip:port/actuator/refresh即可刷新配置,而不需要重启客户端,使用post请求

彩蛋

这里说一个彩蛋,我在看spring-cloud-config-client的源码的时候,发现一个ConfigClientWatch,是用来进行定时轮询读取config-server的配置,这个应该是之前老版本实现的

@Scheduled(initialDelayString = "${spring.cloud.config.watch.initialDelay:180000}",
      fixedDelayString = "${spring.cloud.config.watch.delay:500}")
public void watchConfigServer()

需要配置spring.cloud.config.watch.enabled

@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(ContextRefresher.class)
@ConditionalOnBean(ContextRefresher.class)
@ConditionalOnProperty("spring.cloud.config.watch.enabled")
protected static class ConfigClientWatchConfiguration {

   @Bean
   public ConfigClientWatch configClientWatch(ContextRefresher contextRefresher) {
      return new ConfigClientWatch(contextRefresher);
   }

}

其内部使用的是ContextRefresher,感兴趣的话可以自己去了解一下

https://zhhll.icu/2021/框架/微服务/springcloud/配置中心/springCloudConfig/2.分布式配置动态刷新/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2044859.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在亚马逊云科技上部署Llama大模型并开发负责任的AI生活智能助手

项目简介&#xff1a; 小李哥将继续每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿AI技术解决方案&#xff0c;帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS AI最佳实践&#xff0c;并应用到自己的日常工作里。 本次介绍的是如何在亚马逊云科技上利用Sag…

​R语言里的字符型向量和布尔型向量运用

下面内容摘录自《R 语言与数据科学的终极指南》专栏文章的部分内容&#xff0c;每篇文章都在 5000 字以上&#xff0c;质量平均分高达 94 分&#xff0c;看全文请点击下面链接&#xff1a; 3章1节&#xff1a;数据的基本概念以及 R 中的数据结构、向量与矩阵的创建及运算-CSDN…

【机器学习】反向传播的基本概念、如何优化反向传播算法以及大量样本如何优化反向传播

引言 反向传播算法是深度学习和机器学习中的一个核心概念&#xff0c;主要用于训练神经网络 文章目录 引言一、反向传播算法的基本概念1.1 反向传播算法的基本原理1.2 前向传播1.3 计算误差1.4 反向传播1.5 应用与挑战1.6 神经元模型和神经网络结构1.7 总结 二、如何优化反向传…

JavaScript基础——函数

函数简介 定义函数 调用函数 函数的参数和返回值 函数参数 1.有形参情况下不传递实参 2.传递数量少于形参个数的实参 3.传递数量等于形参个数的实参 函数返回值 报错Uncaught SyntaxError: Illegal return statement 返回数字和字符串 返回数组、对象和函数 没有返回…

史上最快,仅需10ms的动态点云剔除方法

论文题目&#xff1a; A Fast Dynamic Point Detection Method for LiDAR-Inertial Odometry in Driving Scenarios 论文作者&#xff1a; Zikang Yuan, Xiaoxiang Wang, Jingying Wu, Junda Cheng, Xin Yang 导读&#xff1a; 本文实现了一种十分快速的动态点剔除方法&…

python 数据可视化折线图练习(下:代码演示)

根据上篇对三国疫情情况数据的罗列&#xff0c;构建折线图完成数据展示。&#xff08;示例如下&#xff09; 接下来是具体代码演示 import json from pyecharts.charts import Line from pyecharts.options import TitleOpts , LegendOpts , ToolboxOpts ,VisualMapOpts , T…

vue 3d echarts scatter3D元素塌陷,图标塌陷进地图完美解决方案

当我们手机用 scatter3D 类型时&#xff0c;最小值因为渲染问题会塌陷进模型里面&#xff0c;所以只要让value固定&#xff0c;再将label formatter 配合 boxHeight属性即可解决&#xff0c;&#xff08;代码附带自定义label图标解决办法&#xff09; 解决&#xff1a; <…

np.pad各种方式的图文解释

‘constant’——表示连续填充相同的值&#xff0c;每个轴可以分别指定填充值&#xff0c;constant_values&#xff08;x,y&#xff09;时前面用x填充&#xff0c;后面用y填充&#xff0c;缺省值填充0 ‘edge’——表示用边缘值填充 ‘linear_ramp’——表示用边缘递减的方式填…

Windows编程:图标资源、光标资源、字符串资源、加速键资源、WM_PAINT消息、绘图

承接前文&#xff1a; win32窗口编程windows 开发基础win32-注册窗口类、创建窗口win32-显示窗口、消息循环、消息队列win32-鼠标消息、键盘消息、计时器消息、菜单资源 本文目录 图标资源光标资源WM_SETCURSOR 消息 字符串资源加速键资源WM_PAINT 消息绘图绘图编程绘图基础基…

后端Web之分层解耦(控制反转IOC-依赖注入DI)

目录 1.三层架构 2.IOC-DI引入 3.IOC-DI使用 4.IOC细节 5.DI细节 内聚&#xff08;Cohesion&#xff09;和耦合&#xff08;Coupling&#xff09;是软件工程中两个重要的概念&#xff0c;它们衡量了软件组件的组织方式和组件之间的相互依赖程度。高内聚性意味着模块内的元…

2024真无线蓝牙耳机怎么选?24年四款性价比畅销爆款机型盘点

2024年&#xff0c;真无线蓝牙耳机的市场依旧竞争激烈&#xff0c;各种品牌和型号如雨后春笋般涌现&#xff0c;面对琳琅满目的选择&#xff0c;2024真无线蓝牙耳机怎么选&#xff1f;消费者在寻找具备高性价比和优秀性能的耳机时往往会感到困惑&#xff0c;那么我将针对大家的…

Nature Medicine | 常规机器学习构建蛋白质组衰老时钟!对于数学基础不好的同学,好好思考一下这种研究模式如何借鉴?

今天给各位老铁们分享一篇于2024年08月08号发表在 Nature Medicine [58.7] 的文章&#xff1a;"Proteomic aging clock predicts mortality and risk of common age-related diseases in diverse populations"&#xff0c;蛋白质组衰老时钟可预测不同人群的死亡率和常…

机器学习-卷积神经网络(CNN)

机器学习-卷积神经网络&#xff08;CNN&#xff09; 1. 卷积神经网络的基本概念1.1 卷积层&#xff08;Convolutional Layer&#xff09;1.1.1 卷积操作1.1.2 特征图&#xff08;Feature Map&#xff09; 1.2 激活函数&#xff08;Activation Function&#xff09;1.2.1 ReLU&a…

JavaEE从入门到起飞(八) ~ Git

git 概括 Git是一个分布式版本控制工具&#xff0c;主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等)。 学了git能干什么&#xff1f; 代码回溯 查看历史提交记录并恢复到之前的某个状态。这在发现错误或需要查看特定版本时非常有用。和CtrlZ的区别在于g…

【图机器学习系列】(一)图机器学习简介

微信公众号&#xff1a;leetcode_algos_life&#xff0c;代码随想随记 小红书&#xff1a;412408155 CSDN&#xff1a;https://blog.csdn.net/woai8339?typeblog &#xff0c;代码随想随记 GitHub: https://github.com/riverind 抖音【暂未开始&#xff0c;计划开始】&#xf…

Qt找不到QSound头文件,头文件QSoundEffect

目录 Qt找不到QSound头文件 CMake qmke 可能版本不同更新&#xff0c; 找不到QSound头文件 Qt找不到QSound头文件 #include <QSound> CMake 可以看一下这篇来自网上的文章 CMake中添加Qt模块的合理方法 - wjbooks - 博客园 (cnblogs.com) qmke 打开.pro文件&am…

Flowise在ubuntu22.04上的安装

之前我写过一篇FastGPT的文章&#xff0c;这里我再介绍另外一个开源的低代码工具&#xff0c;他提供开发人员可定制的LLM编排流程和AI代理。开发 LLM 应用程序通常涉及无数次迭代。Flowise的低代码和拖放式 UI 方法支持快速迭代&#xff0c;帮助您更快地从测试到生产。 推荐它的…

鸿蒙(API 12 Beta3版)【AVSession Kit简介】 音视频播控服务

AVSession Kit&#xff08;Audio & Video Session Kit&#xff0c;音视频播控服务&#xff09;是系统提供的音视频管控服务&#xff0c;用于统一管理系统中所有音视频行为&#xff0c;帮助开发者快速构建音视频统一展示和控制能力。 能力范围 提供音视频统一管控能力&…

Windows Server 域控制服务器安装及相关使用

目录 1.将客户机加入域 2.安装域控制器 3.新建域用户 4.设置用户登录时间&#xff0c;账户过期时间 5.软件分发 ​编辑 6.换壁纸 7.OU与GPO的概念 域为集中控制&#xff0c;拿下域控是拿下目标的关键 以Windows Server 2022为例 1.将客户机加入域 前提&#xff1a;客…

通过调整JVM的默认内存配置来解决内存溢出(‌OutOfMemoryError)‌或栈溢出(‌StackOverflowError)‌等错误

文章目录 引言I 调整JVM的默认堆内存配置java命令启动jar包Tomcat服务器部署java应用引言 问题: org.springframework.web.util.estedServletException: Handlerdispatch failed: nested exception isjava.lang.0utOfMemoryError: Java heap space原因分析: 查询查询平台所…