求关注

快速入门生产者与消费者,SpringBoot整合RabbitMQ!

前言

本章我们来一次快速入门RabbitMQ——生产者与消费者。需要构建一个生产端与消费端的模型。什么意思呢?我们的生产者发送一条消息,投递到RabbitMQ集群也就是Broker。

我们的消费端进行监听RabbitMQ,当发现队列中有消息后,就进行消费。

1. 环境准备

本次整合主要采用SpringBoot框架,需要对SpringBoot的使用有一定了解。

2.大概步骤

我们来看下大概步骤:

  • ConnectionFacorty:获取连接工厂
  • Connection:一个连接
  • Channel:数据通信信道,可发送和接收消息
  • Queue:具体的消息存储队列
  • Producer & Consumer 生产者和消费者

这个连接工厂需要配置一些相应的信息,例如: RabbitMQ节点的地址,端口号,VirtualHost等等。

Channel是我们RabbitMQ所有消息进行交互的关键。

3. 项目实战

3.1 连接工厂

/** * * @ClassName: ConnectionUtils * @Description: 连接工具类* @author Coder编程* @date 2019年6月21日 上午22:28:22 * */public class ConnectionUtils { public static Connection getConnection() throws IOException, TimeoutException { //定义连接工厂 ConnectionFactory factory = new ConnectionFactory(); //设置服务地址 factory.setHost("127.0.0.1"); //端口 factory.setPort(5672);//amqp协议 端口 类似与mysql的3306 //设置账号信息,用户名、密码、vhost factory.setVirtualHost("/vhost_cp"); factory.setUsername("user_cp"); factory.setPassword("123456"); // 通过工程获取连接 Connection connection = factory.newConnection(); return connection; }}

3.2 生产端

/** * * @ClassName: Producer * @Description: 生产者* @author Coder编程* @date 2019年7月30日 上午21:04:43 * */public class Producer { public static void main(String[] args) throws Exception { System.out.println("Producer start..."); //1 创建ConnectionFactory Connection connection = ConnectionUtils.getConnection(); //2 通过connection创建一个Channel Channel channel = connection.createChannel(); //3 通过Channel发送数据 for(int i=0; i < 5; i++){ String msg = "Hello RabbitMQ!"; //1 exchange 2 routingKey  channel.basicPublish(

mq多个消费者消费一个消息_消息中间件——RabbitMQ(五)快速入门生产者与消费者...相关推荐

  1. mq多个消费者消费一个消息_一个普通消费者的米家产品使用感受

    受疫情影响,学校开学时间再次延后,这段时间宅在家对所购买的小米生态产品使用频率增加很多,所以就来写写个人使用感受吧,最近这些年差不够购买了40多件小米产品,在此抛开手机不谈,因为已经很久不用小米手机了 ...

  2. mq多个消费者消费一个消息_限塑“动真格”,他们免费给消费者发了5000多个无纺布购物袋...

    半岛记者 肖玲玲 通讯员 姜峰 李文成 8月19日上午,八大峡市场监督管理所辖区内馨大众团岛农贸市场举办限塑宣传活动,工作人员现场给来往消费者免费分发无纺布购物袋. 据市南区市场监管局工作人员介绍,塑 ...

  3. mq多个消费者消费一个消息_ActiveMQ多个消费者消费不均匀问题

    如果客户端处理很慢的话,Broker会在之前发送消息的反馈之前,继续发送新的消息到客户端.如果客户端依旧很慢的话,没有得到确认反馈的消息会持续增长.在这种情况下,Broker有可能会停止发送消息给消费 ...

  4. rabbitmq怎样确认是否已经消费了消息_【朝夕专刊】RabbitMQ生产者/消费者消息确认...

    欢迎大家阅读<朝夕Net社区技术专刊> 我们致力于.NetCore的推广和落地,为更好的帮助大家学习,方便分享干货,特创此刊!很高兴你能成为忠实读者,文末福利不要错过哦! 上篇文章介绍了R ...

  5. rabbitmq 不同的消费者消费同一个队列_消息队列王者--rabbitMQ深入理解--工作过程、消费模式、持久化等...

    概述 之前已经对rabbitMQ的一些基本概念做了介绍和不同MQ之间的比较,今天主要对rabbitMQ的一些方面做扩展. 01 消息队列 Broker:简单来说就是消息队列服务器实体. Exchang ...

  6. kafka消息消费有延迟_消息中间件选型分析---从Kafka与RabbitMQ的对比来看全局

    有很多网友留言:公司要做消息中间件选型,该如何选?你觉得哪个比较好?消息选型的确是一个大论题,实则说来话长的事情又如何长话短说.对此笔者专门撰稿一篇内功心法:如何看待消息中间件的选型,不过这篇只表其意 ...

  7. rabbitmq怎样确认是否已经消费了消息_阿里Java研发二面:了解RabbitMQ?说说RabbitMQ可靠性投递...

    上期写到高并发下RabbitMq消息中间件你应该介么玩今天给小伙伴说说!有自己看法的也可以在评论区留言探讨,也可以转发关注下我以后会长期分享! 目录: 确保消息发送到RabbitMQ服务器 确保消息被 ...

  8. kafka多个消费者消费一个topic_kafka:一文读懂消费者背后的那点quot;猫腻quot;

    来自:z小赵 前言 经过前几篇文章的介绍,大致了解了生产者背后的运行原理.消息有生产就得有人去消费,今天我们就来介绍下消费端消费消息背后发生的那点事儿. 文章概览 消费者与消费组的"父子关系 ...

  9. rabbitmq 取消消息_认识RabbitMQ从这篇文章开始

    关于RabbitMQ 出身:诞生于金融行业的消息队列 语言:Erlang 协议:AMQP(Advanced Message Queuing Protocol 高级消息队列协议) 关键词:内存队列,高可 ...

最新文章

  1. 【H.264】x264命令详解:x264 --fullhelp
  2. FatNet:一个用于三维点云处理的特征关注网络
  3. Ecplise 恢复刚刚删除的文件
  4. TensorFlow模型的签名推荐与快速上线\n
  5. Poisson Surface Reconstruction
  6. 51nod1601-完全图的最小生成树计数【Trie,分治】
  7. springboot security 权限校验_springboot借助aop和注解实现权限校验
  8. python图形界面库哪个好_8个必备的Python GUI库
  9. RedisView-开源跨平台的Redis可视化工具
  10. [tips]ubuntu 12.04系统黑屏
  11. PHP中的数组(集合)
  12. 蚂蚁金融科技守护金融安全,蚂蚁风险大脑助阵
  13. 系统架构图 云架构案例
  14. ceph集群安装报错解决方法
  15. 浅谈 NCSI 及其在 Linux 上的实现--IBM Developer社区文章
  16. 枚举中valueOf用法
  17. red5简介及基础知识
  18. Microsoft SQL Server笔记整理
  19. 【互联网大厂机试真题 - 华为】九宫格
  20. 【日常点滴016】python游戏库arcade结合Tiled map editor地图编辑器和Pymunk物理引擎制作游戏过程记录,并最终打包为exe文件

热门文章

  1. Python基础教程:列表、字典、集合推导式
  2. Python定义函数的三种方式
  3. Python字符串练习题
  4. Python教程:对 a = [lambda : x for x in range(3)] 的理解
  5. 利用Python编辑一个发送邮件的脚本
  6. Python小知识: List的赋值方法,不能直接等于
  7. Python中小整数对象池和大整数对象池
  8. Couldn‘t connect to session bus: Did not receive a reply. Possible causes include: the remote applic
  9. 求列表中个元素的数量
  10. linux——awk 报告生成器