Nacos的热配置不能使用可能有以下几个原因:
配置文件格式错误:Nacos支持多种格式的配置文件,如JSON、YAML、TEXT等。如果文件的格式不正确,Nacos可能无法解析,从而导致热配置无法生效。
配置文件路径错误:在Nacos中,你需要正确配置配置文件的路径。如果路径不正确,Nacos可能无法找到配置文件,从而导致热配置无法生效。
Nacos服务未启动或启动异常:如果你的Nacos服务未启动或启动异常,那么Nacos可能无法加载配置文件,从而导致热配置无法生效。
Nacos服务与Spring Cloud应用之间的通信问题:Nacos需要与Spring Cloud应用之间建立正确的通信,才能将配置推送给应用。如果通信有问题,可能会导致热配置无法生效。
Nacos服务的配置问题:Nacos服务的配置也可能影响热配置的生效。例如,你可能需要配置Nacos的服务端口、数据源等信息。
以上是可能导致Nacos热配置不能使用的一些原因。
参考下:nacos中明明已经配置了热部署,但是重启项目之后刷新网页发现热部署没有生效(注入属性空指针)https://blog.csdn.net/weixin_45035342/article/details/126499864
情况一:
在SpringBoot 2.4.x的版本之后,对于bootstrap.properties/bootstrap.yaml配置文件(我们合起来成为Bootstrap配置文件)的支持,需要导入如下的依赖
org.springframework.cloud
spring-cloud-starter-bootstrap
3.1.0
1
2
3
4
5
注意如果只写个spring-cloud-starter-bootstrap不会自动提示这个标签里面的内容,必须一次性把依赖里面的的东西全部复制
情况二:
1:进行导包,加入nacos管理依赖。(相关服务下)
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
1
2
3
4
5
在这里呢就会出现问题,视频中时在含有@Value 的controller加入@RefreshScope注解,但是再次运行项目,访问接口,就会出现空指针异常问题。
这里呢个人经过查阅资料,发现@RefreshScope他的默认代理方式是CGLIB,但是spring中默认的代理也是CGLIB,就相当于它被代理了两次,这样可能就会导致数据消失。
解决办法:将@RefreshScope改为:@RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。