(16)SpringBoot整合RabbitMQ
发布日期:2021-06-30 11:08:09
浏览次数:2
分类:技术文章
本文共 3408 字,大约阅读时间需要 11 分钟。
图片来源:pexels网站
摘要:本文主要讲解,SpringBoot整合 RabbitMQ,这里先只做简单的整合示范,详细用法见后续文章。
主要步骤如下:
1.引入依赖
2.配置文件
3.队列,路由配置
4.消息生产者
5.消息消费者
6.测试
7.User实体 这个随意建一个实体类就好,或者不需要实体类,传个字符串,链表都可以,什么数据都可以传输。
1.引入依赖
org.springframework.boot spring-boot-starter-amqp
2.配置文件
根据自己的rabbit服务参数去配置
# rabbitmq spring.rabbitmq.addresses=xx.xx.xx.xx:5672 spring.rabbitmq.username=root spring.rabbitmq.password=root spring.rabbitmq.publisher-confirms=true spring.rabbitmq.virtual-host=/
3.队列,路由配置
这里我们配置队列,路由,交换机,本篇先只给出一个队列。
package com.java4all.rabbitmq1; import org.springframework.amqp.core.Queue; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * Author: momo * Date: 2018/6/15 * Description:配置信息,队列,交换机 */ @Configuration public class RabbitConfig { //队列 queue1 @Bean public Queue queue1(){ return new Queue("queue1"); } }
4.消息生产者
package com.java4all.rabbitmq1; import com.java4all.entity.User; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * Author: momo * Date: 2018/6/15 * Description:消息生产者 */ @Component public class Producer1 { @Autowired RabbitTemplate rabbitTemplate; /**发送消息*/ public void produce1(User user){ rabbitTemplate.convertAndSend("queue1",user); } }
5.消息消费者
监听指定的队列,接收到消息后进行处理。
package com.java4all.rabbitmq1; import com.java4all.entity.User; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.context.annotation.Configuration; import java.time.LocalTime; /** * Author: momo * Date: 2018/6/15 * Description:消息消费者 */ //监听队列queue1 @Configuration @RabbitListener(queues = "queue1") public class Consumer1 { /**接收到信息后进行消费(处理)*/ @RabbitHandler public void process1(User user){ System.out.println("Consumer1:"+ LocalTime.now()+"----"+user.toString()); } }
6.测试
package com.java4all.rabbitmq1; import com.java4all.entity.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; /** * Author: momo * Date: 2018/6/15 * Description: */ @RestController @RequestMapping(value = "mq1") public class UserController1 { @Autowired Producer1 producer1; @RequestMapping(value = "getUser1",method = RequestMethod.GET) public void getUser1(){ for (int i = 0; i < 100; i++) { User user = new User(); user.setId(i); user.setUserName("name"+i); user.setRealName("realName"+i); user.setPassword("0000"+i); //生产消息 producer1.produce1(user); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
7.访问控制台
访问接口:http://localhost:8088/mq1/getUser1 然后访问控制台(centOs安装rabbitMQ 有配置控制台的步骤):结果如下
备注:
centOS安装rabbitMQ:
https://blog.csdn.net/weixin_39800144/article/details/80696372
与其相忘江湖,不如点赞关注
本文为 java4all (公众号:java4all)原创
欢迎转载,请注明出处或文末给出二维码
谢谢!
转载地址:https://it4all.blog.csdn.net/article/details/89037698 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月24日 14时20分53秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C++的除法需要留意的几点情况
2019-04-30
C++打印三角形、四边形
2019-04-30
C++程序的基本组成简介
2019-04-30
JavaScript变量及访问方式介绍
2019-04-30
centos7 hbase1.4.13+hadoop2.7.1+单机环境搭建
2019-04-30
十四、系统与环境函数
2019-04-30
十五、定时函数
2019-04-30
十三、字符串操作函数
2019-04-30
十八、垃圾收集函数
2019-04-30
十七、类定义查找函数
2019-04-30
十六、窗口操作函数
2019-04-30
二十、提供帮助函数
2019-04-30
二十一、其他函数
2019-04-30
如何搭建高可用环境下的hbase
2019-04-30
HDP+ambari安装
2019-04-30
140行代码自己动手用python写一个词云制作小工具
2019-04-30
数据挖掘 | 利用python进行商品亲和性分析
2019-04-30
80行代码自己动手用python写一个表格拆分与合并小工具
2019-04-30
对比excel,用python绘制华夫饼图
2019-04-30