天天看点

springcloud+bus消息总线+rabbitmq

启动rabbitmq:

             docker run -d -p 5672:5672 -p 15672:15672 rabbitmq:management

            rabbitmq默认是5672,所以改为5672端口

1、config-client加入依赖

                <!--配置中心结合消息队列-->

                <dependency>

                    <groupId>org.springframework.boot</groupId>

                    <artifactId>spring-boot-starter-actuator</artifactId>

                </dependency>

                <dependency>

                    <groupId>org.springframework.cloud</groupId>

                    <artifactId>spring-cloud-starter-bus-amqp</artifactId>

                </dependency>

2、配置文件yml

暴露全部的监控信息 management: endpoints: web: exposure: include: "*"

#服务的名称
spring:
  rabbitmq:
    host: 192.168.1.220
    port: 5672
    username: springcloud
    password: springcloud
           

3、需要刷新配置的地方,增加注解   @RefreshScope

4、访问验证 post方式:

http://localhost:{port}/actuator/bus-refresh

5、rabbitmq 添加用户springcloud

springcloud+bus消息总线+rabbitmq

报错:org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect

Caused by: java.net.ConnectException: Connection refused: connect

解决:注意springboot服务配置的rabbitmq端口为5672

报错:Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method:

解决:

springcloud+bus消息总线+rabbitmq

 修改权限,点击Set permission,ok

springcloud+bus消息总线+rabbitmq

原理分析:

springcloud+bus消息总线+rabbitmq

主要是通过消息总线的方式,将其中一个实例的更新请求

/bus/refresh

,传递给其他实例,达到同时刷新的目的

继续阅读