欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springcloud系列29——Spring Cloud Config配置属性刷新之手动刷新

程序员文章站 2022-03-14 09:48:29
...

前言

在以往的应用中,如果要更改应用的配置,要让配置生效必须重启应用程序。在Spring Cloud Config中我们可以刷新配置属性而不用重启应用。

这1节说明在Spring Cloud Config如何手动刷新配置属性。

手动刷新配置属性

1.需要引入spring boot-actuator依赖(用到/refresh端点)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2.在Bean上增加@RefreshScope注解

比如:

@Controller
@RequestMapping("/user")
@RefreshScope
public class UserController {
    @Value("${my.custom.message}")
    private String customeMessage;
    
    @GetMapping("/customMsg")
    @ResponseBody
    public String getCustomeMessage() {
        return this.customeMessage;
    }
}

Ok,准备工作完毕!

先来看看my.custom.message原来的配置

springcloud系列29——Spring Cloud Config配置属性刷新之手动刷新

现在我们修改git仓库中配置文件的my.custom.message的配置项。

我们将value修改为:

my.custom.message=Hello,This message is changed!!!

现在通过/refresh刷新配置属性。

springcloud系列29——Spring Cloud Config配置属性刷新之手动刷新

返回结果表示my.custom.message配置有更新。

现在在访问/user/customeMsg

springcloud系列29——Spring Cloud Config配置属性刷新之手动刷新

可以看到,已经使用了刚刚更新的配置。

注意

1.默认spring-boot-acturator开启了安全认证,这里作为演示将其关闭(management.security.enabled=false)。

2.如果有很多个微服务,使用手动刷新配置的方式就不太合适了。

相关标签: springcloud