在springcloud版本2.1.10.RELEASE中,我们可以实现nacos配置文件的动态刷新,但是当springcloud的版本升级到2021.1的时候,发现动态刷新无效。
我们可以通过下面的配置来解决
# 配置支持共享的 Data Id
spring.cloud.nacos.config.extension-configs[0].data-id=xxxxxx.yml
# 配置 Data Id 所在分组,缺省默认 DEFAULT_GROUP
#spring.cloud.nacos.config.extension-configs[0].group=DEFAULT_GROUP
# 配置Data Id 在配置变更时,是否动态刷新,缺省默认 false
spring.cloud.nacos.config.extension-configs[0].refresh=true
可以看到:
通过 spring.cloud.nacos.config.extension-configs[n].data-id 的配置方式来支持多个 Data Id 的配置。
通过 spring.cloud.nacos.config.extension-configs[n].group 的配置方式自定义 Data Id 所在的组,不明确配置的话,默认是 DEFAULT_GROUP。
通过 spring.cloud.nacos.config.extension-configs[n].refresh 的配置方式来控制该 Data Id 在配置变更时,是否支持应用中可动态刷新, 感知到最新的配置值。默认是不支持的。
多个 Data Id 同时配置时,它的优先级关系是 spring.cloud.nacos.config.extension-configs[n].data-id 其中 n 的值越大,优先级越高。spring.cloud.nacos.config.extension-configs[n].data-id 的值必须带文件扩展名,文件扩展名既可支持 properties,又可以支持 yaml/yml。此时 spring.cloud.nacos.config.file-extension 的配置对自定义扩展配置的 Data Id 文件扩展名没有影响。