RabbitMQ消息队列快速开始
版本介绍
springboot版本:2.2.3.RELEASE
创建一个队列 (Queues) 名称,交换器 (Exchanges)用点对点 (direct) 绑定队列名称
案例 :保存数据的时候,正常添加数据库,但是添加elasticsearch的时候, 使用RabbitMQ中间键去执行;消息队列会有监听,监听到执行添加elasticsearch
1,依赖
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
</dependency>
2,业务实现类使用消息队列
-
注入使用的接口
@Resource private AmqpTemplate template;
-
此刻在添加数据实现方法内,执行完添加mysql ,添加消息队列
//queues队列名 -- 数据 template.convertAndSend("elasticsearch",houseinfoVO);
-
消息队列监听,监听到即执行
/** * rabbitMQ * @param houseinfoVO */ @RabbitListener(queues = "elasticsearch") @Override public void esAdd(HouseinfoVO houseinfoVO) { System.out.println("houseinfoVO =================数据=============== " + houseinfoVO); HouseinfoVO save = houseResporty.save(houseinfoVO); }
- 直接(direct) ----点对点
- 主题(topic) ----模糊匹配
- 扇出(fanout)----广播