1.啟動(dòng)RabbitMQ
2.修改config服務(wù)端 依賴:(boot和cloud版本不要太高,不然刷新配置的請求不能用)
<dependencies> <!--consul--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> <!--健康檢查--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!--config--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <!--bus--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency> <!--web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
配置:
spring: cloud: consul: host: localhost port: 8500 config: server: git: uri: https://gitee.com/xiang_pei/config.git default-label: master application: name: CONFIGSERVER rabbitmq: host: localhost port: 5672 username: guest password: guest virtual-host: / #暴露所有端點(diǎn),便于發(fā)送更新配置請求 management: endpoints: web: exposure: include: "*"
啟動(dòng):(啟動(dòng)類加@EnableConfigServer)mq會(huì)有一條臨時(shí)隊(duì)列
3.修改微服務(wù)(即客戶端) 依賴:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!--config client的依賴--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <!--重新導(dǎo)入bootstrap--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> </dependency> <!--bus--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency> </dependencies>
配置:不變(rabbitmq的配置應(yīng)該寫到gitee上)bootstrap.properties
spring.cloud.consul.host=localhost spring.cloud.consul.port=8500 spring.application.name=CONFIGCLIENT spring.cloud.config.discovery.service-id=CONFIGSERVER spring.cloud.config.discovery.enabled=true spring.cloud.config.name=config spring.cloud.config.label=master spring.cloud.config.profile=dev
運(yùn)行:
寫了一個(gè)測試方法
name屬性是gitee上的配置文件的name
沒問題
4.利用webhooks實(shí)現(xiàn)自動(dòng)刷新配置
向config服務(wù)端發(fā)送post請求
http://localhost:8080/actuator/bus-refresh
具體路徑根據(jù)項(xiàng)目來
在gitee的config管理中,點(diǎn)擊webhooks
url就填上面那個(gè),因?yàn)樾枰W(wǎng)才能測試,所以暫時(shí)不演示了。
設(shè)置完,改gitee的配置就會(huì)自動(dòng)刷新了
到此這篇關(guān)于spring cloud config和bus組件實(shí)現(xiàn)自動(dòng)刷新功能的文章就介紹到這了,更多相關(guān)spring cloud config自動(dòng)刷新內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/qq_42682745/article/details/121053728