当前位置 : 主页 > 编程语言 > java >

SpringCloud Bus如何实现配置刷新

来源:互联网 收集:自由互联 发布时间:2021-04-10
要想实现配置刷新,首先得有项目基础结构 项目一: 注册中心 项目二: 配置中心 项目三: 客户端 先启动注册中心 然后启动配置中心 然后在不同端口启动客户端的多个实例,这些实例都是

要想实现配置刷新,首先得有项目基础结构

  • 项目一: 注册中心
  • 项目二: 配置中心
  • 项目三: 客户端

先启动注册中心

然后启动配置中心

然后在不同端口启动客户端的多个实例,这些实例都是通过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问题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

网友评论