跨项目配置,nacos的动态更新配置,如何才能生效

news2024/11/14 21:04:00

在SpringCloud项目中,有时会出现多个项目读取同一配置的场景,那么这种跨项目的动态更新配置,如何才能生效。

方案1.使用refreshable-dataids

如果配置文件是使用如下方式获取配置,只需要使用refreshable-dataids
在这里插入图片描述

在Nacos中,refreshable-dataids(可刷新的数据ID)是用于动态更新配置的一种机制。通过配置refreshable-dataids,你可以指定需要动态刷新的配置项,在配置更新时自动通知应用程序进行刷新。

下面是一个示例,展示了如何在Nacos中使用refreshable-dataids:

在Nacos控制台创建或编辑配置。

在配置的元数据(Metadata)中添加refreshable-dataids属性,并指定需要刷新的数据ID。例如:

refreshable-dataids = dataId1,dataId2,dataId3

这里的dataId1、dataId2、dataId3是需要刷新的数据ID,多个数据ID之间使用逗号分隔。

保存配置并发布。

当你在Nacos控制台修改了指定的数据ID对应的配置内容后,Nacos会自动通知应用程序进行刷新。应用程序可以通过监听配置变化的事件来实现刷新逻辑,并获取最新的配置内容。

方案2.使用@RefreshScope

当你使用如下方式获取配置时,需要在方案1的基础上,同时使用该注解
在这里插入图片描述

@RefreshScope注解用于标记一个Bean,表示该Bean可以在运行时动态刷新配置。当使用Spring Cloud Config等外部配置中心时,使用@RefreshScope注解可以使应用程序在配置更改时自动重新加载Bean。

以下是一个示例,展示了如何在Spring Boot中使用@RefreshScope注解:

@RestController
@RequestMapping("/example")
@RefreshScope
public class ExampleController {
    
    @Value("${example.property}")
    private String exampleProperty;
    
    @GetMapping("/property")
    public String getProperty() {
        return exampleProperty;
    }
}

在上面的例子中,我们创建了一个ExampleController类,并在类上使用了@RefreshScope注解。该注解告诉Spring容器,该Bean可以在运行时动态刷新。

我们还在ExampleController类中注入了一个名为exampleProperty的属性,并使用@Value注解从配置文件中获取其值。当配置文件中的example.property属性发生更改时,使用@RefreshScope注解的Bean会自动重新加载,从而更新exampleProperty属性的值。

需要注意的是,要使@RefreshScope注解生效,需要在应用程序中使用Spring Cloud Config等外部配置中心,并在配置中心中配置相应的刷新端点。具体的实现方式取决于你使用的配置中心和版本。

注意,当声明方式必须为private

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

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

相关文章

startActivityForResult()方法被弃用

一、现象 在新版androidX里面,startActivityForResult()被标注弃用,推荐使用registerForActivityResult()方法 二、解决方案 : 使用registerForActivityResult()方法 但是注意了: 1、registerForActivityResult只能在onCreate()…

中兴通讯-000063 三季报分析(20231024)

中兴通讯-000063 基本情况 公司名称:中兴通讯股份有限公司 A股简称:中兴通讯 成立日期:1997-11-11 上市日期:1997-11-18 所属行业:计算机、通信和其他电子设备制造业 主营业务:信息产业、通讯及电子设备、计…

Django分页功能的使用和自定义分装

1. 在settings中进行注册 # drf配置 REST_FRAMEWORK {DEFAULT_AUTHENTICATION_CLASSES: (# rest_framework_jwt.authentication.JSONWebTokenAuthentication,rest_framework_simplejwt.authentication.JWTAuthentication,rest_framework.authentication.SessionAuthenticatio…

java对接homeassistant实现远程控制(配置frp实现内网穿透)

Home Assistant API文档 https://dev-docs.home-assistant.io/en/master/ 这里是设备的基本前缀 以下是Home Assistant的全部设备前缀及代表的设备类型:1. air_quality:空气质量监测器设备; 2. alarm_control_panel:报警面板设…

科普丨语音芯片的宽电压设计作用

语音芯片的宽电压设计具有以下几个作用: 1. 适用范围广,适应性强。宽电压设计使语音芯片能够在不同电压范围内工作,从而适应电源供电系统的不稳定性。无论是在低电压还是高电压情况下,宽电压设计可以确保语音芯片正常工作&#x…

内存泄漏问题,4种智能指针(介绍+模拟实现)

目录 内存泄漏 介绍 分类 堆内存泄漏 系统资源泄漏 检测内存泄漏的方式 智能指针 引入 介绍 原理 引入 RAII原则 指针性质 拷贝 auto_ptr 介绍 代码 boost库 unique_ptr 介绍 代码 shared_ptr 介绍 删除器 代码 问题(循环引用) weak_ptr 介…

Visual Studio 2019部署桌面exe(笔记)

一、使用Visual Studio自带的Publish功能 上述两张图片一般会自动加载,只需要查看一下即可。 签名问题: 生成exe执行文件 双击setup.exe 桌面生成(默认图标) 换图标: 对应桌面生成的exe

10个免费的logo设计神器

logo是标志或商标的英文声明,是指企业为自己设计logo的行为。随着技术的发展,许多logo设计在线生成器已经在互联网上诞生,供您使用和参考。通过图像logo设计,消费者可以记住公司的业务或品牌文化,并发挥识别和推广的作…

最新校园说明会日程安排-ABeam(德硕)旗下艾宾信息技术开发(上海) 德硕管理咨询(深圳)

艾宾信息技术开发(上海) 2024校园招聘 招聘岗位 公司介绍 福利待遇 联系我们 行程一览 华东理工大学校园宣讲会 日期:2023年10月23日(周一) 时间:14:00-16:00 地点:上海市徐汇区梅陇…

语雀崩了,免费送VIP6个月,赶紧薅!!

一、前言 在一个无聊的周一,下午浑浑噩噩的时候,一条公众号信息引起我的关注。 什么东西?语雀这种量级的产品也能崩? 看了一下还真是官方公众号发的!! 心里不由得出现,完蛋整个团队要打包遣…

Python武器库开发-面向对象篇(五)

面向对象篇(五) 面向对象编程 是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。编写类时,你定义一大类对象都有的通用行为。基于类创建对象 时,每个对象都自动具备…

Android Studio 查看Framework源码

1、背景 安卓系统源码量很庞大,选择好的开发工具和方式去开发可以提升开发效率,常用的开发工具有Source Insight 、Visual Studio Code、Android Studio,vscode适合C和C代码开发,java层代码无法跳转和提示,因此&#…

Java——关于实现多线程的测试小题,帮助我们更好的理解多线程的使用方法

前面讲解了关于多线程的使用方法,这篇文章则是进行实战,做几道测试题。 感兴趣的情况下可以看一下Java多线程 多线程练习1 (卖电影票) 一共有1000张电影票,可以在两个窗口领取,假设每次领取的时间为3000毫秒要求:请用多线程模拟卖票过程并打印剩余电影…

37 深度学习(一):查看自己显卡的指令|张量|验证集|分类问题|回归问题

文章目录 查看自己显卡的指令框架选什么张量的阶数验证集存在的意义分类问题一般的全连接的代码格式(板子)上面训练的详解一些省略梯度消失和梯度爆炸Dropout 回归问题一般回归的全连接的板子 batch-size超参数搜索策略 此系列的深度学习主要是理论性的介…

Linux docker 安装 部署

docker 安装 linux系统离线安装docker 如何使用docker部署c/c程序 常用命令 给予 docker 访问 gui 的权限 在 /etc/profile 末尾添加 if [ "$DISPLAY" ! "" ] thenxhost fi在执行 更新 source /etc/profiledocker下载镜像 docker search gcc #搜索d…

EtherNet Ip工业RFID读写器与欧姆龙PLC 配置示例说明

一、准备阶段 POE交换机欧姆龙PLC 支持EtherNet Ip协议CX-Programmer 9.5配置软件 二、配置读卡器 1、打开软件 2、选择网卡,如果多网卡的电脑请注意对应所接的网卡,网卡名一般为“Network adapter Realtek PCIe GBE Family” 3、点击“选择网卡”&…

数据可视化报表分享:区域管理驾驶舱

在零售数据分析中,区域管理驾驶舱报表是用来分析企业运营数据,以制定销售策略和提高利润。因此这张报表需要整合大量数据,数据整合、分析、指标计算的工作量极大,在讲究高效率、高度及时性的大数据时代,BI数据可视化分…

APP上架怎么避免麻烦应对解决方案和替代方案

在当今数字化的时代,应用程序已成为现代生活中连接人与科技的桥梁。各个行业精准地抓住这一趋势,踊跃地推出自家APP,为用户提供一站式的便捷服务。然而,APP上架的过程并非一帆风顺。许多开发者会在上架过程中遇到麻烦,…

DC电源模块的短期过载能力

BOSHIDA DC电源模块的短期过载能力 DC电源模块是一种专门用来将交流电源转换为稳定直流电源的电子元件,适用于各种场合,如电子产品制造、通信、无线电、医疗等。在使用DC电源模块时,短期过载能力是考察其质量的重要指标之一。 短期过载能力…

共赢未来 | 大势智慧与安康市自然资源信息科技有限公司达成战略合作

10月17日至18日,安康市自然资源信息科技有限公司总经理黄光俊带领技术团队到武汉大势智慧科技有限公司围绕“实景三维中国、数字化建设”开展交流调研,并签署战略合作协议。 双方表示将以市场需求为导向,以技术创新为依托,建立长期…