1. 程式人生 > >實現SpringCloud Config 客戶端自動重新整理

實現SpringCloud Config 客戶端自動重新整理

一、簡介

在使用SpringCloud Config客戶端時,如果Config服務端配置檔案發現了變化,如果客戶端需要同步的話,需要手動的訪問客戶端的/refresh(POST請求)端點來重新整理客戶端配置

使用定時器的方式來解決手動重新整理

1、找到類org.springframework.cloud.endpoint.RefreshEndpoint

2、在類中的refresh方法打上一個斷點

3、使用Postman工具訪問這個斷點

訪問請求:http://localhost:8080/refresh

4、發現請求進入到了這個方法中

5、結論

只要是訪問/refresh地址就會執行這個方法,那麼是否可以自己寫一個定時器去執行這個方法,達到重新整理配置檔案的目的

這個方法的執行,實則是contextRefresher執行了refresh方法,才達到重新整理配置檔案的效果,而contextRefresher是通過構造器注入的,那麼我們在其他的方也想使用這個物件的話,只需要加入@Autowired或者是@Resource即可

6、編寫Configuration

具體實現:只需要將AutoRefreshConfiguration與啟動類能掃描到的地方即可

/**
 * 類描述: 實現自動重新整理客戶端配置
 *
 * @author wallfacers
 * @date 2018/9/12 22:04
 * @email <a href="[email protected]
">wallfacers</a> * @sine 1.8 */ @Configuration public class AutoRefreshConfiguration { @Autowired private ContextRefresher contextRefresher; /** * 定時去執行某個方法,refresh方法可以讓客戶端去拉取配置檔案 */ @Scheduled(fixedRate = 2000L) public void autoRefreshConfig() { contextRefresher.refresh(); } }

7、完整程式碼