Azure Spring Cloud AppConfiguration配置刷新功能不生效问题求助
根因说明
你当前使用的com.azure.spring:azure-spring-cloud-appconfiguration-config:2.1.1版本存在已知的刷新逻辑缺陷:配置刷新阶段重新拉取远程配置时,不会继承启动阶段配置的selects过滤规则,只会拉取默认的/application路径下的配置,导致你自定义/myprefix/前缀的配置变更没有被同步到本地环境。ContextRefresher对比新旧环境属性时找不到差异,因此返回空的变更key列表,最终配置不会刷新。
修复方案
- 方案一(推荐):升级依赖版本
直接升级到该组件的2.4.0及以上稳定版本,该版本已修复刷新阶段selects配置丢失的问题,升级后无需修改原有配置即可正常识别自定义前缀的配置变更。 - 方案二(兼容低版本临时修复):
如果当前无法升级依赖,可在原有配置基础上补充显式的刷新拉取规则,配置示例如下:
spring: cloud: azure: appconfiguration: stores: - connection-string: ${connection-string} selects: - key-filter: '/myprefix/' label-filter: dev # 补充刷新阶段的拉取过滤规则 refresh: selects: - key-filter: '/myprefix/' label-filter: dev monitoring: enabled: true refresh-interval: 1s triggers: - label: dev key: /myprefix/my.config.value
- 额外校验:所有使用
@Value、@ConfigurationProperties读取动态配置的类,必须添加@RefreshScope注解,否则即使配置变更被识别,Bean的属性也不会自动更新。
内容的提问来源于stack exchange,提问作者jiraspav
相关产品推荐
相关产品推荐

