开发者社区 > 云原生 > 正文

怎么Nacos这种配置方式,可以读取到配置, 但是 绑定刷新的时候,不能动态刷新?

怎么Nacos这种配置方式,可以读取到配置, 但是 绑定刷新的时候,不能动态刷新?
iwEcAqNwbmcDAQTRA5AF0QCEBrCbiUbDdg8NmAT84t03gLgAB9IB3wuLCAAJomltCgAL0Xdl.png_720x720q90.jpg

展开
收起
青城山下庄文杰 2023-09-23 14:16:11 177 0
1 条回答
写回答
取消 提交回答
  • 您好,我理解您的意思是,您使用 Nacos 作为配置中心,并将配置信息绑定到 Spring Boot 的 @Value 注解上,但是在更新配置后,无法动态刷新。

    这是因为 Spring Boot 的 @Value 注解默认使用 @ConfigurationProperties 进行注入,而 @ConfigurationProperties 会将配置数据进行缓存,因此在更新配置后,Spring Boot 无法立即感知到变化。

    为了解决这个问题,您可以使用 @RefreshScope 注解来修饰 @Value 注解。这样,Spring Boot 会在每次刷新配置后,重新读取配置数据,并将最新的数据注入到 @Value 注解中。

    以下是使用 @RefreshScope 注解的示例代码:

    @ConfigurationProperties("my-properties")
    @RefreshScope
    public class MyProperties {

    private String name;
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    

    }
    在这种情况下,当您更新配置后,Spring Boot 会自动将最新的配置数据注入到 MyProperties 对象中。

    2023-10-13 10:16:15
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
Nacos架构&原理 立即下载
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
Nacos 启航,发布第一个版本, 云原生时代助力用户微服务平台建设 立即下载