手動刷新客戶端配置內容
客戶端項目增加依賴項
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
客戶端項目修改配置文件
增加management.endpoints.web.exposure.include=refresh,health,info
spring.application.name=spring-cloud-config-client
server.port=9006
spring.cloud.consul.host=127.0.0.1
spring.cloud.consul.port=8500
#設置不需要注冊到 consul 中
spring.cloud.consul.discovery.register=false
#顯示的暴露接入點
management.endpoints.web.exposure.include=refresh,health,info
客戶端程序增加支持刷新注解
在使用配置中心的類上添加@RefreshScope注解:
@RestController
//刷新觸發地址/actuator/refresh
@RefreshScope
public class ConfigTestController {
//配置信息通過@Value注解讀取,配置項用${配置項}讀取
@Value("${bluersw.config}")
private String configBluersw;
@RequestMapping("/ConfigTest")
public String ConfigTest(){
return this.configBluersw;
}
}
測試刷新效果
將Git倉庫里的配置內容改外Test-5(bluersw.config=Test-5),啟動客戶端程序(spring-cloud-config-client),刷新客戶端頁面127.0.0.1:9006/ConfigTest,發現顯示內容還是Test-3,然后執行:
curl -X POST http://127.0.0.1:9006/actuat/refresh
再次刷新頁面127.0.0.1:9006/ConfigTest,頁面內容顯示為Test-5,說明客戶端程序內的配置信息讀取了最新的值。