配置文件(.yaml)里的变量自动刷新的问题

Blade 未结 2 964
clh
clh 剑圣 2021-05-14 16:19

一、该问题的重现步骤是什么?

  1. 配置文件blade.yaml已经注册到nacos服务中心了,这个时候iot.log.request.enabled的变量值为false,比如用户服务我已经启动了

  2. 这个时候我在 用户服务的UserController,在其类中 我获取IotRequestLogProperties中getEnabled()值为false

  3. 这个时候我更改了iot.log.request.enabled 的变量值更新为true后,然后发布blade.yaml,显示发布成功

  4. 注意,这个时候我不启动用户服务,获取UserController中的 IotRequestLogProperties中getEnabled()值还是为false,值没有变,

也就是配置文件中的值 不自动刷新

   如我重起用户服务,那么就能获取到enabled为true.

5.结论:改了服务中心的配置文件变量后,一定要重起服务,有没有 不重起 就能 自动刷新?谢谢


2条回答
  • 添加@RefreshScope注解

    6$SL{]UF0LG9908T(1_%8PC.png

    0 讨论(0)
  • 2021-05-14 17:05

    image.png

    image.png

    我也加了@RefreshScope,但是没有生效呢,重启服务后才生效谢谢

    回答: 2021-05-14 17:15

    image.png

    是不是要在网关服务中,要加个注解使之生效?(要动态刷新的属性类),我看AuthProperties在网关配置里,配置了,是不是这个缘故?谢谢


    0 讨论(0)
提交回复