- 我已经检查过 discussions
- 我已经搜索过 issues
- 我已经仔细检查过FAQ
描述bug
我在Apollo配置界面上,已经将UIMS应用的配置关联上公共的配置,所有配置都已经发布。UIMS已经默认引用了私有的Application命名空间
我在UIMS的Apollo配置节点中,如果不在Namespaces中将引用的公共配置的命名空间列出来,那么UIMS就拉取不到公共的配置信息。
只要在Namespaces中将引用的公共的命名空间列出来,UIMS应用就可以正常获取到公共的配置信息
复现
通过如下步骤可以复现:
可以正常接到公共配置的Section配置
"Apollo": {
"AppId": "UIMS",
"Env": "DEV",
"MetaServer": " http://localhost:8080/ ",
"Namespaces": [ "Dev.ElasticSearch", "Dev.RabbitMQ", "Dev.Swagger", "Dev.Wechat", "Dev.Redis" "Dev.MinIO", "Dev.NLog" ]
}
不能拉到公共配置的Section配置
"Apollo": {
"AppId": "UIMS",
"Env": "DEV",
"MetaServer": " http://localhost:8080/ "
}
期望
配置信息在Apollo上,建立好关联继承关系后,UIMS不需要关注引用了哪些公共的配置命名空间,只需要引用自己私有的Application即可
截图
额外的细节和日志
- 版本:2.10.0
- 错误日志
- 配置:
- .net6
4条答案
按热度按时间t1qtbnec1#
功能上就是这样设计的。
0sgqnhkj2#
那这个关联主要是什么用呢?建议关联之后,就可以直接获取到继承过来的配置信息。
v440hwme3#
关联是为了可以覆盖公共配置,如果不需要覆盖就不需要主动关联
y53ybaqx4#
强烈建议,在Apollo配置中心上关联上公共的命名空间后,项目上就不需要再添加命名空间的配置信息了,直接继承所有关联的公共配置信息。
这样以来,整个配置中心的管理,跟项目配置就完全解耦了,项目打包啥的,就更简单了,后续都无须关注配置的调整。