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


    在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
    
    • 1

    这里的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;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

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

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

    注意,参数声明方式必须为private

  • 相关阅读:
    Oracel存储过程,分页函数定义,索引建立
    凉鞋的 Godot 笔记 101. Hello Godot!
    C专家编程 第8章 为什么程序员无法分清万圣节和圣诞节 8.1 Portzebie度量衡系统
    atguigu----16-自定义指令
    十年老安卓开发转车载行业,成功斩下50K*13offer的历程经历
    【C语言】数据结构——栈和队列实例探究
    大二Web课程设计——张家界旅游网站设计与实现(HTML+CSS+JavaScript)
    为何海量计算机系毕业生“负债”报IT培训班?高校IT教育该如何变革?
    MYSQL数据库-基础概念
    图像增强及运算篇之图像掩膜直方图和HS直方图
  • 原文地址:https://blog.csdn.net/u013367040/article/details/134016599