求关注

快速入门生产者与消费者,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. 为什么我们使用Linux内核的(网络)协议栈?
  2. .NET中使用NLog记录日志
  3. 新泰成为全国智慧城市时空信息云平台建设试点
  4. request对象学习
  5. python plotly 多个表格_Plotly Python - 更改表格
  6. 《Ruby程序员修炼之道》(第2版)目录—导读
  7. Android studio 混淆打包 proguard-rules.pro 与 bulid.gradle 配置总结
  8. maven 常量字符串过长_从基于Maven的Web应用程序获取版本字符串
  9. eclipse 增加php 版本号,扩充eclipse php的代码提示功能
  10. 用git提交代码到远程仓库遇到的问题
  11. eclipse里面自动添加get和set方法
  12. SMO算法是干什么的?有什么作用?
  13. java游戏编程源代码_JAVA小游戏编程-源代码
  14. 国内一些比较大型的IT软件外包公司名单
  15. 手把手教你如何进行内网渗透
  16. Spark的lazy特性有什么意义呢?
  17. .Net 文件名后缀的详细解释
  18. 农夫山泉推出新品矿泉水“长白雪”域名表现如何?
  19. 阿里天池比赛——街景字符编码识别
  20. AcWing 225. 矩阵幂求和

热门文章

  1. 网络安全比赛理论答题(三)
  2. python中main()函数写法
  3. 用Python turtle库绘制蟒蛇
  4. cx_oracle写日志信息_MongoDB与MySQL关于写确认的异同
  5. 如何在VS一个工程里面测试不同代码?(创建不同项目,并将需要运行的项目设为启动项目)
  6. linux里根目录下的/bin,usr里的/usr/bin还有local里的/usr/local/bin有什么区别?
  7. tensorflow tf.global_variables_initializer()(返回一个初始化全局变量的对象)
  8. 三星note2+android8.0,放大版Note2 三星Galaxy Note8.0
  9. 手动安装sys驱动文件_海龙工具的正确安装及卸载方法,自己动手丰衣足食
  10. 国际化在zuul中实现