Apollo取不到key想要的值

如本地环境变量中存在于apollo相同的key优先使用本地环境变量,比如你本地System.getenv()中存在USERNAME=Administrator ,然后apollo也配置了userName =XXXXX,此时生效的是Administrator 就出现问题了,所以就好奇看了看源码。

问题就出现在这个value = System.getenv(key)中
com.ctrip.framework.apollo.internals.DefaultConfig#getProperty

image

这里有个theCaseInsensitiveEnvironment 它是TreeMap,这里定义的比较器 nameComparator 是不区分大小写的,所以就获取了本地的环境中的USERNAME对应值,就导致了那不到apollo的值
image

有点坑,但是还是得规范化命名key,避免各种问题

posted @   liuhuayiye  阅读(290)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示