要想實現配置刷新,首先得有項目基礎結構
- 項目一: 注冊中心
- 項目二: 配置中心
- 項目三: 客戶端
先啟動注冊中心
然后啟動配置中心
然后在不同端口啟動客戶端的多個實例,這些實例都是通過bootstrap.properties連接到配置中心后,加載相應配置后啟動的.
成功完成上述基礎設施,才開始關注配置刷新.
==========================================================================================
SpringCloud Bus實現配置刷新只需要做以下幾點:
1. 在配置中心和客戶端都添加依賴: spring-cloud-starter-bus-amqp
說明: bus表示引入的是SpringCloud Bus的依賴, amqp表示bus的消息傳遞功能是通過rabbitmq實現.(如果想通過kafka實現,則對應的依賴是spring-cloud-starter-bus-kafka)
2. 在配置中心和客戶端都添加連接消息中間件的配置,由于amqp用的是rabbitmq消息中間件,因此對應的配置是:
spring.rabbitmq.host=localhost
spring.rabbitmq.password=wwx614831
spring.rabbitmq.username=wwx614831
spring.rabbitmq.port=5672
3. 在配置中心的配置中加入不進行權限檢查的配置:
management.security.enabled=false
4. 使用:
通過獲取配置文件中一個示例屬性值,來判斷配置是否真的刷新
刷新前: 獲取name屬性值=wangxuejian
更改為: name=xuejian
刷新: 調用配置中心的bus/refresh接口
看效果: 獲取name屬性值變成xuejian,且多個實例都改變了.
5. 注意:
把需要刷新配置的Bean上標注@RefreshScope注解.
總結:
1. 首先搭建基礎架構,實現配置中心和注冊中心的正常使用
2. 使用什么消息中間件,就引入什么中間件的依賴
3. 跳過安全檢查,避免401問題
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://www.cnblogs.com/wangxuejian/p/13622139.html