近期做项目配置迁移到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注解,重启服务,问题解决