Spring Cloud +Nacos 热更新

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 15:57   1469   0

1. 环境:JDK8 SpringCloud 2.2.0 RELEASE Nacos1.1.4

2. 问题:nacos上的配置文件可以读取到,但是发现不能热更新

3. 尝试办法1 :在用到配置项的类上都加上注解@RefreshScope

结果 :没有成功

尝试办法2 :将@value 注解替换成@NacosValue

结果 :没有成功

尝试办法3 :将@value 注解替换成@NacosValue

结果 :没有成功

4.最终解决:发现自己配置的nacos访问配置文件是写在shared-configs 上,这个配置项的意思是公共配置,放在这个配置项里的配置文件都不会热更新,所以需要热更新的配置文件都应该放在extension-configs 这个配置项上,然后在用到配置文件中的配置项的类上都加上注解@RefreshScope 就好了

配置如下:

spring:
application:
name: hbb
# ====================================================================
# nacos相关配置(注意不要修改)
# nacos.discovery.server-addr:服务发现地址
# nacos.discovery.ip:注册到注册中心的服务实例地址,程序启动时会自动选择本地ip,如果服务器是多
# 网卡,可能会出现配置错误,此时需要指定参数"REGISTER_IP"的值
#
# nacos.config.server-addr:配置中心服务地址
# nacos.config.file-extension:配置文件后缀
# nacos.config.shared-configs:共享配置文件名
# ====================================================================
cloud:
nacos:
discovery:
server-addr: ${NACOS_HOST:paas-register}:${NACOS_PORT:8848}
ip: ${REGISTER_IP:}
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
file-extension: yml
shared-configs:
- AAA.${spring.cloud.nacos.config.file-extension} # 微服务体系相关公共配置
- BBB.${spring.cloud.nacos.config.file-extension} # 数据源配置
extension-configs:
- data-id: CCC.yml # icube业务配置
refresh: true

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP