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