有時候在配置中心有些參數是須要修改的,這時候如何不重啓而達到實時生效的效果呢?須要JAVA Spring Cloud大型企業分佈式微服務雲構建的B2B2C電子商務平臺源碼 一零三八七七四六二六 java
添加依賴spring
<dependencies>
...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
...
</dependencies>
複製代碼
spring-boot-starter-actuator:這個模塊的/refresh(POST請求)端點能夠刷新配置,更多的使用參考Spring Boot系列文章。bash
生效前提分佈式
在須要刷新的Bean上添加@RefreshScope註解。spring-boot
@RefreshScope
@RestController
public class TestController {
@Value("${username}")
private String username;
複製代碼
當配置更改時,標有@RefreshScope的Bean將獲得特殊處理來生效配置。微服務
擴展問題spa
若是項目少配置少的狀況能夠經過/refresh來手動刷新配置,若是項目比較複雜的狀況呢這種確定是行不通的,Spring Cloud Bus消息總線能夠解決配置修改的真正的動態刷新。java B2B2C 多租戶電子商城系統code