近期做项目配置迁移到Apollo,项目比较特殊,同属测试环境同一个集群有两套配置(workspace、online),添加Namespace不生效,一直读取的是默认Namespace
app:
id: ******
apollo:
meta: *******
cluster: testing3
bootstrap:
enabled: true
namespaces: application_workspace.yml

启动服务 控制台一直提示Load Apollo Config failed,发现读取的是默认namespace(application.properties) 配置来回对了n遍,确认配置没问题

参考网上一篇文章,发现了问题所在
配置文件中的apollo.bootstrap.enable=true表示应用开启apollo支持,会将配置文件信息注入到相应的bean里,此时启动类再启用@EnableApolloConfig注解,而没有指定命名空间就会采用默认值进行注入,把初始注入的bean的命名空间覆盖掉了,所以看起来配置文件指定的命名空间未生效
去掉@EnableApolloConfig注解,重启服务,问题解决
本文详细解析了在项目中使用Apollo进行配置管理时遇到的问题,特别是在测试环境中同一集群下存在两套配置(workspace、online)时,添加Namespace不生效的情况。通过深入分析,找到了问题的根源在于@EnableApolloConfig注解的不当使用,最终通过调整解决了问题。
916

被折叠的 条评论
为什么被折叠?



