为什么nacos-config-spring-boot-starter版本0.2.10,配置注解@NacosConfigurationProperties(autoRefreshed = true),当配置存在map类型,移除元素无效,保留的还是原来的数据?
wgeznvg71#
nacos-client 版本是2.0.2
tuwxkamq2#
其他类型数据都可以更新吗?
zlwx9yxi3#
基本数据类型可以更新,比如int,float这种,但是如果是map<String,Object>,删除元素没有效果的,新增或修改元素有效。
nwlls2ji4#
几年前好像遇到过类似问题, map的具体类型换成ConcurrentHashMap看看能否解决?。。。
cotxawn75#
不能解决,元素移除还是无效
nnt7mjpx6#
能否提供一下复现此问题的demo?
0x6upsns7#
从描述上看, 配置推送是生效的, 可能是spring boot框架的限制,只能往里put(新增和覆盖),remove的话不好做。
也可能是starter实现上的问题,比如只就foreach 做put, 没有做对比移除掉不需要的key。
如果愿意帮社区排查的话,可以定位一下,然后提PR到starter仓库。
7条答案
按热度按时间wgeznvg71#
nacos-client 版本是2.0.2
tuwxkamq2#
其他类型数据都可以更新吗?
zlwx9yxi3#
基本数据类型可以更新,比如int,float这种,但是如果是map<String,Object>,删除元素没有效果的,新增或修改元素有效。
nwlls2ji4#
几年前好像遇到过类似问题, map的具体类型换成ConcurrentHashMap看看能否解决?。。。
cotxawn75#
几年前好像遇到过类似问题, map的具体类型换成ConcurrentHashMap看看能否解决?。。。
不能解决,元素移除还是无效
nnt7mjpx6#
能否提供一下复现此问题的demo?
0x6upsns7#
从描述上看, 配置推送是生效的, 可能是spring boot框架的限制,只能往里put(新增和覆盖),remove的话不好做。
也可能是starter实现上的问题,比如只就foreach 做put, 没有做对比移除掉不需要的key。
如果愿意帮社区排查的话,可以定位一下,然后提PR到starter仓库。