消息总线
实现不用重启服务即可重新读取git 上的配置文件
自动发送消息
- 安装rabbitmq 依赖于erlang
注意版本匹配
安装erlang
配环境变量
安装rabbit mq
在对应的目录下去启动和停止
D:\rabbitmq\rabbitmq_server-3.7.12\sbin>rabbitmq-service stop
要用管理员身份运行
安装插件
方便在浏览器查看
sbin 目录下
sbin>rabbitmq-plugins.bat enable rabbitmq_management
完事后
管理员登陆 访问 localhost:15672
一般的的客户端 访问端口是5672
就可以登陆 账号 密码guest
实战整合
在configproduct 工程中
<!--Bus 与 rabbitMQ依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
<!--监听器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
bootstrap yml的配置文件
包含了rabbitmq的服务器地址
和暴露触发消息总线的地址
spring:
cloud:
config:
name: microservice-config-product #github上的配置名称,注意没有yml后缀名
profile: prod # 本次访问的环境配置项
label: master # 远程库的分支名
uri: http://localhost:5001 #Config配置中心地址,通过它获取microservice-config-product.yml配置信息
rabbitmq:
host: localhost
port: 5672
username: guest
password: guest
# 暴露触发消息总线的地址
management:
endpoints:
web:
exposure:
include: bus-refresh
检测
启动了
然后改动 github 上面provider 配置文件
然后发送请求
http://localhost:8001/actuator/bus-refresh
- rabbitmp 会出现一个请求
- 会动态的更新github上面的配置
要更新自定义的配置 要在使用配置文件里面的内容
在在对应的类上添加注解
比如自定义的zhangsan啥的
@refuresh
刷新duired数据源
默认不刷新
自定义数据源 自己注入