Spring Cloud +Nacos 热更新

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值