栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

apollo获取配置项报错

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

apollo获取配置项报错

问题描述:

在springboot项目中使用@Value(“${配置项名}”)注解获取apollo非application命名空间配置项,启动时报获取不到配置项错误

···
Caused by: java.lang.IllegalArgumentException:Could not resolve placeholder ‘xxx’ in value “${xxx}”

问题原因

spring项目启动时会将配置文件加载到spring容器里作为项目启动的参数,而在启动时只会读取指定的配置文件,在配置文件中开其apollo支持后,启动类上的@EnableApolloConfig注解默认只加载application命名空间中的配置作为项目启动配置参数,而value注解中的参数注入也是在启动时完成的,这时其他命名空间中的配置还未被读取,因此获取不到

解决方案

注释掉@EnableApolloConfig注解即可

衍生问题
  1. 加载一次后,重新启动时添加@EnableApolloConfig可以正常启动了,不清楚为什么,待解决
  2. 经尝试,能获取到apollo中所有命名空间配置后,无法再获取本地application配置属性,暂不清楚什么原因,猜想是启动配置文件只能有一个,而apollo中的一个集群的所有命名空间可以看为一整个启动配置文件
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1031851.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号