当尝试获取一个不存在的namespace后,会被自动添加到trySync中,这个动作是否有参数可以控制禁用?
stale
<!-- 这段文字不会显示在你的内容中。为了避免重复的信息,方便后续的检索,在提issue之前,请检查如下事项。如果是比较新手级别的问题,推荐到讨论区 https://github.com/apolloconfig/apollo-java/discussions 提问 -->
- [x] 我已经检查过[discussions](https://github.com/apolloconfig/apollo-java/discussions)
- [x] 我已经搜索过[issues](https://github.com/apolloconfig/apollo-java/issues)
- [x] 我已经仔细检查过[FAQ](https://www.apolloconfig.com/#/zh/faq/common-issues-in-deployment-and-development-phase)
**描述bug**
在通过ConfigService.getConfig传入一个不存在的namespace后,看了下代码目前是会自动定时执行trySync,然后会不停地打印如下warn日志:
`Sync config failed, will retry. Repository class com.ctrip.framework.apollo.internals.RemoteConfigRepository, reason: Load Apollo Config failed - appId: xxapp, cluster: default, namespace: messages-en, url: http://x.x.x.x:8080/configs/xxapp/default/messages-en [Cause: ApolloConfigStatusCodeException([status code: 404] Could not find config for namespace - appId: xxapp, cluster: default, namespace: messages-en, please check whether the configs are released in Apollo!)]`
想咨询下我是否有办法控制找不到的namespace不要自动进行trySync?
描述下我们的使用场景:我们希望使用apollo做spring-boot-i18n的配置管理,即将每种语言的messages文件作为namespace配置到apollo中。目前的实现是会有一个fallback机制,例如如果找不到messages-zh_CN就尝试找messages-zh,但是目前发现会不停地对找不到的namespace进行trySync。所以想问下这种机制是否有参数进行控制?或者我是否有办法直接根据appId获取所有可见(或私有)的namespace列表?
**复现**
使用ConfigService.getConfig(appId, namespace)方法,传入一个不存在的namespace,会不停trySync,然后打印WARN级别的`Sync config failed`日志
**期望**
期望:是否有办法控制找不到的namespace不要进行trySync?或者是否有api能够获取appId下的所有可见或私有的namespace列表?
### 额外的细节和日志
- 版本:2.4.0
4 条评论