首页 > 其他分享 >@NacosConfigListener注解监听配置变化失效解决

@NacosConfigListener注解监听配置变化失效解决

时间:2023-07-18 13:22:34浏览次数:41  
标签:NacosConfigListener spring nacos alibaba 注解 com 监听 cloud

项目初始配置:

  • maven依赖如下:
        <!--配置与发现依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
  • 类声明

 

  • 两种监听配置的方式:手动注册、使用注解

场景复现

  1. 修改文件内容:

  

   2.如下结果所示:

  只有手动添加的listener能获取到变更内容。注解的形式不生效

 

排查思路:

@NacosConfigListener既是注解,则应有相应的注解处理器。收拾全局后,没有找到,chatgpt询问后得知其对应的处理器类为:com.alibaba.nacos.spring.context.annotation.config.NacosConfigListenerMethodProcessor(在nacos-spring-context.jar中)。因此只要保证处理器类被正确注册使用即可

解决:

step1.添加依赖

            <dependency>
                <groupId>com.alibaba.nacos</groupId>
                <artifactId>nacos-spring-context</artifactId>
                <version>1.1.1</version>
            </dependency>

 

step2.确保处理器类被正确加载注入spring容器

package cn.yangfeiself.serverorder;

import com.alibaba.nacos.api.annotation.NacosProperties;
import com.alibaba.nacos.spring.context.annotation.config.EnableNacosConfig;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
//启用nacosConfig注解,该注解最终会扫描加载NacosConfigListenerMethodProcessor类
@EnableNacosConfig(globalProperties = @NacosProperties(serverAddr = "${spring.cloud.nacos.config.serverAddr}"))
public class ServerOrderApplication {

    public static void main(String[] args) {
        SpringApplication.run(ServerOrderApplication.class, args);
    }

}

结果:

 

标签:NacosConfigListener,spring,nacos,alibaba,注解,com,监听,cloud
From: https://www.cnblogs.com/swz1104919/p/17562659.html

相关文章

  • SpringBoot启动类变灰色,无法启动,注解通通不生效
    1:自己准备创建SpringBoot项目时,严格按照要求创建后,变成了这样。启动类运行不了,@SpringBootApplication注解也是黑色。而正常的是蓝色,注解是黄色。2:通过查询博主java文件夹标记为sourcesroot目录,右上角选择蓝色框框,然后选择Modules,最后把java、resources、test分别配置好。 ......
  • @cookievalue注解
    @cookieValue是springMvc中的注解:@CookieValue的作用用来获取Cookie中的值@CookieValue参数1、value:参数名称2、required:是否必须3、defaultValue:默认值@CookieValue使用案例 /***验证用户信息*@paramtoken*@return*/@GetMapping("verify")//直接获......
  • Oracle-lsnrctl监听进程控制
    LSNRCTL>helpThefollowingoperationsareavailableAnasterisk(*)denotesamodifierorextendedcommand:startstopstatusservicesversionreloadsave_configtracespawnch......
  • 自定义java@注解
    自定义注解主要用于抽象出重复代码,以减少枯燥无味的重复工作量举例:创建Redis分布式锁注解步骤:新建interface接口@Target(ElementType.METHOD)//描述注解使用范围@Retention(RetentionPolicy.RUNTIME)//设置注解时间范围//SOURCE源文件保留//CLASS,......
  • 计算属性与监听属性
    一、为什么要使用计算属性什么是计算属性计算属性:可以理解为能够在里面写一些计算逻辑的属性。具有如下的作用:减少模板中的计算逻辑。数据缓存。当我们的数据没有变化的时候,不会再次执行计算的过程。依赖固定的数据类型(响应式数据),不能是普通的传入的一个全局数据。......
  • SpringBoot中通过自定义Jackson注解实现接口返回数据脱敏
    场景SpringBoot中整合ShardingSphere实现数据加解密/数据脱敏/数据库密文,查询明文:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/131742091上面讲的是数据库中存储密文,查询时使用明文的脱敏方式,如果是需要数据库中存储明文,而在查询时返回处理后的数据,比如身份......
  • MVC三层架构,过滤器、监听器及常见应用
    MVC三层架构什么是MVC:ModelViewController模型、视图、控制器10.1早些年控制器ControllerServlet:接收用户的请求响应给客户端内容重定向或者转发视图层ViewJSP:展示数据提供可以供我们操作的请求Servlet和JSP都可以写JAVA代码;为了易于维护和使用;Servlet专注于......
  • 自动装配和注解开发
    Bean自动装配autowire="ByName"bean的id要唯一和自动注入的属性的set方法的值一致autowire="ByType"bean的class要唯一和自动注入的属性的类型一致 使用注解自动装配可以不编写set方法使用@Autowiredxml配置中引入context文件头xmlns:cont......
  • java的todo注解咋用
    如何使用Java的Todo注解作为一名经验丰富的开发者,我将向你介绍如何在Java中使用Todo注解。Todo注解是一种用于标记代码中未完成的部分的注解,它可以帮助我们在开发过程中记录和管理待完成的任务。流程下面是使用Java的Todo注解的整体流程:步骤描述1创建Java项目2添......
  • 注解
    注解注解:给计算机看的生成文档javadocJDK中一些预定义的注解@Override:检测被该注解标记的方法是否是继承父类(接口)的@Deprecated:该注解标记的内容已过时@SuppressWarnings:压制警告(all)自定义注解格式:public@interface注解名称{属性列表;}本质:注解是一个接口,该接......