RabbitMQ中consumer通过建立到queue的连接,创建channel对象,通过channel通道获取message,
Consumer可以声明式的以API轮询poll的方式主动从queue的获取消息,也可以通过订阅的方式被动的从Queue中消费消息,

1、Subscribe订阅方式

订阅方式其实是向queue注册consumer,通过rpc向queue server发送注册consumer的消息,rabbitMQ Server在收到消息后,根据消息的内容类型判断这是一个订阅消息,
这样当MQ 中queue有消息时,会自动把消息通过该socket(长连接)通道发送出去。

参见ChannelN中的方法
    public String basicConsume(String queue, boolean autoAck, String consumerTag,
                               boolean noLocal, boolean exclusive, Map<String, Object> arguments,
                               final Consumer callback)

2poll API方式
ChannelN:
GetResponse basicGet(String queue, boolean autoAck)
这种方式比较简单,直接通过RPC从MQ Server端获取队列中的消息

转载于:https://www.cnblogs.com/Regina-wisdom/p/9414390.html

RabbitMQ学习(七)_RabbitMQ Consumer获取消息的两种方式(poll,subscribe)解析相关推荐

  1. MyBatis获取参数值的两种方式以及传参情况

    MyBatis获取参数值的两种方式 MyBatis获取参数值的两种方式:${}和#{} 传参情况 演示环境 1.单个字面量类型的参数 2.多个字面量类型的参数 3.map集合类型的参数 4.实体类类型 ...

  2. 微信小程序获取openid的两种方式

    这篇文章是关于获取openid的两种方式,自己在学着用微信小程序来写一个小东西玩 首先我们要到小程序官网获取到自己的appid和Appsecret 如图 第一种:直接在微信小程序中获取,不需要通过后台 ...

  3. SSM整合之Mybatis笔记( MyBatis获取参数值的两种方式(重要))(P020—P025)

    P20 MyBatis获取参数值的两种方式(重要) 一.什么叫做获取取参数值的两种方式 以后在我们开发是方向B/S系统,然后我们现在要做的任务通过浏览器/页面/视图 收集用户输入的一些数据,然后把这些 ...

  4. RabbitMQ(六)——Spring boot中消费消息的两种方式

    前言 上一篇博客中,我们只是简单总结了Spring boot中整合RabbitMQ的操作,针对消息消费的两种方式只是简单给了一个实例,这篇博客,我们进一步总结关于Spring boot消息消费的相关功 ...

  5. RocketMq 消费消息的两种方式 pull 和 push

    在RocketMQ中一般有两种获取消息的方式,一个是拉(pull,消费者主动去broker拉取),一个是推(push,主动推送给消费者) 区别是: push方式里,consumer把轮询过程封装了,并 ...

  6. RocketMq : 消费消息的两种方式 pull 和 push

    文章目录 1.概述 两种方式的优缺点对比: push pull 1.概述 原创在:https://blog.csdn.net/zhangcongyi420/article/details/905483 ...

  7. Android之从网络上获取图片的两种方式讲解:thread+handle和AsyncTask方式

    从网络上获取图片是一个比较耗时的操作,放在主线程会导致阻塞主线程,响应超时,所以我们不能把它放在主线程里操作,必须放在一个子线程里,我打算采用两种方式去实现.1.采用thread去获取图片,获取到后通 ...

  8. 快速获取cookie的两种方式

    方式一:通过浏览器控制台 在需要获取Cookie的谷歌浏览器界面,按Ctrl+Shift+j打开js控制台. 输入 console.log(document.cookie) 回车打印Cookies 方 ...

  9. 用Python获取弹幕的两种方式(一种简单但量少,另一量大管饱)

    前言 弹幕可以给观众一种"实时互动"的错觉,虽然不同弹幕的发送时间有所区别,但是其只会在视频中特定的一个时间点出现,因此在相同时刻发送的弹幕基本上也具有相同的主题,在参与评论时就会 ...

最新文章

  1. SQL Server数据库错误9003(LSN无效)的处理方法
  2. 不懂算法,还想进大厂?做梦吧
  3. hexo博客配置阿里云oss对象存储
  4. Linux记录-mysql参数优化
  5. STL之七:STL各种容器的使用时机详解(精讲大全)
  6. 多进程与多线程的区别
  7. c++ builder xe2 debug正常 release崩溃 解决一例
  8. SAP CRM interaction center呼叫中心的一些性能问题的分析
  9. Linux 网卡驱动学习(二)(网络驱动接口小结)
  10. 怎样制作网吧服务器,网吧游戏服务器制作的过程是怎样的
  11. mac上设置sudo不要密码
  12. Java中的重载(overloading)和重写(overriding)
  13. Android中获取并设置屏幕亮度
  14. 泛微低代码构建+流程驱动:绩效考核线上提报、评分、自动汇总
  15. 阿里网盘向用户赠送2TB永久免费空间
  16. [深度学习入门]两阶段目标检测算法到Faster RCNN
  17. 数分笔记整理25 - 数据处理项目 - 中国城市资本流动问题探索
  18. 极速办公(word)如何添加文字水印
  19. 哈士奇不是人,但360真是狗啊
  20. BaseAdapter notifyDataSetChanged()

热门文章

  1. python3中数字类型有哪些_python全栈_009_Python3基本数据类型--列表(示例代码)
  2. 线程池的简单创建和实现
  3. HBase读写的几种方式(三)flink篇
  4. 谈谈如何使用Netty开发实现高性能的RPC服务器
  5. POJ 3252 数位DP
  6. SQL优化:从设计表结构开始(层次型表结构设计方法)
  7. swift变量和函数
  8. 黄聪:CodeSmith和PowerDesigner的使用安装和数据库创建(原创系列教程)
  9. int, float, double之间不得不说的故事
  10. sqlite-常用语句