天天看點

Spring Cloud動态重新整理配置資訊

有時候在配置中心有些參數是需要修改的,這時候如何不重新開機而達到實時生效的效果呢? 添加依賴

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

spring-boot-starter-actuator

:這個子產品的/refresh(POST請求)端點可以重新整理配置,更多的使用參考Spring Boot系列文章。

生效前提

在需要重新整理的Bean上添加@RefreshScope注解。

@RefreshScope
@RestController
public class TestController {

    @Value("${username}")
    private String username;

...      

當配置更改時,标有@RefreshScope的Bean将得到特殊處理來生效配置。

擴充問題

如果項目少配置少的情況可以通過/refresh來手動重新整理配置,如果項目比較複雜的情況呢這種肯定是行不通的,Spring Cloud Bus消息總線可以解決配置修改的真正的動态重新整理。