spring-cloud-starter-alibaba-nacos-config低版本动态配置成功,但是后台CaCheData自动刷新失败问题

关于nacos动态刷新配置的BUG

1.发现BUG的过程:

为提高新增的业务日志功能的灵活性,也是为了避免该功能隐藏的BUG造成内存溢出的风险,需要开关动态控制该功能的开启和关闭,我在配置文件增加了一个boolean值,动态修改该boolean 值后,可做到动态控制该功能的开启和关闭,但是后台也在不断报【

ERROR 4668 --- [f4-0e9f2e3a81ea] c.a.nacos.client.config.impl.CacheData : [fixed-127.0.0.1_8848-362ecf23-2a9d-4667-90f4-0e9f2e3a81ea] [notify-error] dataId=za-.yml, group=DEFAULT_GROUP, md5=2754ec7238aa2688390b07f8440e8ed7, listener=org.springframework.cloud.alibaba.nacos.refresh.NacosContextRefresher$1@a7a41da tx=null】这样的一个错误,也有人在官方的项目维护下提了issue,链接为

https://github.com/alibaba/nacos/issues/3157

2.尝试修复BUG的过程

我首先是尝试使用了 spring-cloud-starter-alibaba-nacos-(config/discovery) 的 1.5.1.RELEASE 版本替换我们的 0.9.0.RELEASE 进行修复,替换后发现,这个版本的nacos 不读取bootstrap.yml文件了,这样跟我们项目目前的配置冲突,我们项目是使用application.yml+bootstrap.yml+对应的微服务.yaml这样的形式配置的,经过查询别人的经验发现可以增加 spring-cloud-starter-bootstrap 解决不读取bootstrap.yml的问题,我增加后发现还是修复不了读取bootstrap.yml的问题,再查询时发现,spring-cloud-starter-bootstrap也不推荐使用了,也是过时的技术了,不深究这个了。

第二次尝试使用官方推荐的搭配,升级到spring-cloud-starter-alibaba-nacos-(config/discovery) 的2.1.2.RELEASE 的版本进行修复,升级后发现,目前项目的功能都正常,但是原来的报错还是报错,咨询了大量的同行朋友后,得出结论,该BUG反复出现在好几个版本是版本不兼容导致,建议是升级spring cloud 到H版本以上,再将对应的spring boot ,spring cloud nacos 都升级到官方建议的版本来解决此问题。

3.目前我们项目的技术版本如下:

spring boot 版本为 2.1.10.RELEASE

对应int-parent父项目的配置pom.xml中的artifactId为 sp

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值