有時候在配置中心有些參數是需要修改的,這時候如何不重新開機而達到實時生效的效果呢? 添加依賴
<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消息總線可以解決配置修改的真正的動态重新整理。