怎么Nacos这种配置方式,可以读取到配置, 但是 绑定刷新的时候,不能动态刷新?
您好,我理解您的意思是,您使用 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 对象中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。