代码:https://gitee.com/GXQ205153964/config-parent_bus.git

这里是承接Config 分布式配置中心文章,解决文章中遗留的发一次请求只能一个client更新的到最新的配置文件。
config-provider的bootstrap.yml复制到config-consumer
- #bootstrap优先级更高
-
- #配置config-server地址
- #配置获取配置文件的名称等信息
-
- spring:
- cloud:
- config:
- #配置config-server地址
- #uri: http://localhost:9527
- name: config #文件名
- profile: dev #开发环境
- label: master #分支
- #从注册中心去寻找config-server地址
- discovery:
- enabled: true
- service-id: CONFIG-SERVER
-
- #暴露端点
- management:
- endpoints:
- web:
- exposure:
- include: refresh # 或者 * 也可以代替,表示全部暴露不安全
OrderController注入
将获取到的外部配置文件输出到web
- @RefreshScope
-
-
- @Value("${gao}")
- private String gao;
-
-
- goods.setTitle(goods.getTitle()+"--"+gao);
导入pom.xml
-
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-openfeignartifactId>
- dependency>
-
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-configartifactId>
- dependency>
运行:
![]()

config-server
引入pom.xml
-
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-bus-amqpartifactId>
- dependency>
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-actuatorartifactId>
- dependency>
添加配置
- server:
- port: 9527
-
- spring:
- application:
- name: config-server
- cloud:
- config:
- server:
- git:
- uri: https://gitee.com/GXQ205153964/springcloud-configs.git #远程仓库的地址
- label: master
- #配置rabbitmq信息
- rabbitmq:
- host: localhost
- port: 5672
- username: guest
- password: guest
- virtral-host: /
- eureka:
- client:
- service-url:
- defaultZone: http://localhost:8761/eureka # 注册
-
- #暴露bus的刷新点
- management:
- endpoints:
- web:
- exposure:
- include: 'bus-refresh'
config-provider
-
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-bus-amqpartifactId>
- dependency>
bootstrap.yml
- #bootstrap优先级更高
-
- #配置config-server地址
- #配置获取配置文件的名称等信息
-
- spring:
- cloud:
- config:
- #配置config-server地址
- #uri: http://localhost:9527
- name: config #文件名
- profile: dev #开发环境
- label: master #分支
- #从注册中心去寻找config-server地址
- discovery:
- enabled: true
- service-id: CONFIG-SERVER
- #配置rabbitmq信息
- rabbitmq:
- host: localhost
- port: 5672
- username: guest
- password: guest
- virtral-host: /
-
- #暴露端点
- management:
- endpoints:
- web:
- exposure:
- include: refresh # 或者 * 也可以代替,表示全部暴露不安全
config-consumer
pom.xml
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-bus-amqpartifactId>
- dependency>
bootstrap.yml
- #bootstrap优先级更高
-
- #配置config-server地址
- #配置获取配置文件的名称等信息
-
- spring:
- cloud:
- config:
- #配置config-server地址
- #uri: http://localhost:9527
- name: config #文件名
- profile: dev #开发环境
- label: master #分支
- #从注册中心去寻找config-server地址
- discovery:
- enabled: true
- service-id: CONFIG-SERVER
- #配置rabbitmq信息
- rabbitmq:
- host: localhost
- port: 5672
- username: guest
- password: guest
- virtual-host: /
-
- #暴露端点
- management:
- endpoints:
- web:
- exposure:
- include: refresh # 或者 * 也可以代替,表示全部暴露不安全
application.xml
- server:
- port: 9000
-
- eureka:
- instance:
- hostname: localhost
-
- client:
- service-url:
- defaultZone: http://localhost:8761/eureka # 注册
-
- spring:
- application:
- name: config-consumer #设置当前应用的名称。将来会在eureka中application显示,将来需要使用该名称来获取路径
-
- # 开启feign对hystrix的支持
- feign:
- hystrix:
- enabled: true
结果:

发送后 client端 consumer和provider通过刷新就能获取到最新的外部配置文件