遇到nacos上变更完后本地触发拉去动作,但无法获取DATAID的缓存导致本地刷新失败,引用@RefreshScope
注解的目的在于 将某个类的scope声明为可刷新模式,spring boot默认的bean实例是单例模式以节省空间,而想动态加载配置文件就意味着某个bean需要刷新,因此需将Java类声明为@RefreshScope
以达成此功能。
但是版本不一致的清空下使用springboot2.4.3+spring cloud 2020.0.1 + nacos1.4.1 +spring cloud alibaba2.2.5 导致nacos上的配置文件更新后拉取到本地无法刷新bean,通过日志看到data_id在某一步被清空导致内部缓存map 寻找null.properties 没找到该key 导致刷新失败。
解决方案:更新版本控制,按照spring cloud alibaba wiki 所述 将版本更新为 springboot 2.3.2RELEASE(没找到,默认使用2.3.1RELEASE) + spring cloud alibaba 2.2.5 + Spring Cloud Hoxton.SR8 + nacos 1.4.1