RabbitMQ:二、客户端开发向导
建立Connection,创建Channel,注意Channel不能在线程间共享(非线程安全)
创建交换器和队列
消费者消费消息支持推和拉两种模式
- 推:通过consume方法订阅队列
- 拉:通过channel.basicGet方法获取消息
一旦consume以后,channel会被置为接收模式,直到取消队列的订阅为止,这期间RabbitMQ会不断地推消息给消费者。如果只获取单条消息,建议使用拉的模式,但是持续消费的时候需要使用推的模式来提高吞吐量,用循环拉的模式会影响RabbitMQ的性能。
消费端确认和拒绝
消费者订阅队列(Consume)时可以指定autoAck参数,当autoAck为false时,RabbitMQ会等消费者显式地回复确认信号后才从内存(或磁盘)移去消息(实质上是先打上删除标记,之后再删除)。当autoAck为true时会自动确认,然后删除消息。
当autoAck 参数置为 false ,对于 RabbitMQ 服务端而言 ,队列中的消息分成了两个部分:一部分是等待投递给消费者的消息;一部分是己经投递给消费者,但是还没有收到消费者确认
信号的消息。 如果 RabbitMQ 直没有收到消费者的确认信号,并且消费此消息的消费者己经
断开连接(断开连接是唯一标准,不会超时),则 RabbitMQ 会安排该消息重新进入队列,等待投递给下 个消费者,当然也有可
能还是原来的那个消费者。
参考:RabbitMQ实战
RabbitMQ:二、客户端开发向导的更多相关文章
- RabbitMQ 客户端开发向导
准备工作:composer 引入 php-amqplib 说明:本文说明基于 Java(主要说明原理),实现使用 php RabbitMQ Java 客户端使用 com.rabbitmq.client ...
- OMCS开发手册(04) -- 二次开发流程
在掌握了前面几篇关于OMCS的详细介绍后,我们就可以正式基于OMCS进行二次开发了.下面我们就从服务端和客户端的角度分别介绍开发的步骤. 一.服务端开发 抛开具体的业务逻辑而言,就OMCS的服务端的开 ...
- VS中创建自定义一个VC工程为基础的开发向导的总结
作者:朱金灿 来源:http://blog.csdn.net/clever101 VS允许用户进行自定义开发向导.自定义开发向导的好处在于将常用的设置都通过向导生成,从而大大提供开发效率.特别是在开发 ...
- NX二次开发-基于NX开发向导模板的NX对Excel读写操作(OLE方式(COM组件))
在看这个博客前,请读者先去完整看完:NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article ...
- AutoCAD二次开发-使用ObjectARX向导创建应用程序(HelloWorld例子)
AutoCAD2007+vs2005 首先自己去网上搜索下载AutoCAD2007的ARX开发包. 解压后如下 打开后如下 classmap文件夹为C++类和.net类的框架图,是一个DWG文件. d ...
- .Net RabbitMQ实战指南——客户端开发
开发中关键的Class和Interface有Channel.Connection.ConnectionFactory.Consumer等,与RabbitMQ相关的开发工作,基本上是围绕Connecti ...
- NX二次开发-使用NXOPEN C++向导模板做二次开发
版本 NX9+VS2012 1.怎么往VS软件里添加VC,C#,VB向导模板 先到NX安装目录下UGOPEN文件夹里找到这三个文件夹 拷贝到VS的安装目录下 这里有几个注意事项,VS2017,VS20 ...
- NX二次开发-创建NX9 NXOpenCPP Wizard开发向导模板
这篇文章,我在CSDN,在唐工论坛都发过.http://www.nxopen.cn/forum.php?mod=viewthread&tid=2039&highlight=NX9 博客 ...
- [转] GIS二次开发(C#+AE)
乘风莫邪 原文GIS二次开发(C#+AE) 此过程描述了使用ArcGIS控件建立和部署应用的方法和步骤. 你可以在下面的目录下找到相应的样例程序: <</FONT>安装目录>/ ...
随机推荐
- spring boot 入口源码分析
public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); / ...
- 02 . Mysql基础操作及增删改查
SQL简介 SQL(Structured Query Language 即结构化查询语言) SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,SQL语言由IBM开发. SQL语句四大 ...
- 如何管理win系列服务器,win10 pro如何 使用远程桌面
远程桌面,大家都理解,专业的运维人员都是连接上百台服务器进行操作管理工作. 先介绍一款专业的远程桌面管理工具:iis7远程桌面批量管理 win10 pro如何 使用远程桌面? 一. 首先在win10 ...
- Chisel3 - Tutorial - VendingMachineSwitch
https://mp.weixin.qq.com/s/5lcMkenM2zTy-pYOXfRjyA 演示如何使用switch/is来实现状态机. 参考链接: https://github.co ...
- Java实现蓝桥杯 算法提高 线段和点
算法提高 线段和点 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 有n个点和m个区间,点和区间的端点全部是整数,对于点a和区间[b,c],若a>=b且a<=c,称点a满 ...
- Java实现 LeetCode 480 滑动窗口中位数
480. 滑动窗口中位数 中位数是有序序列最中间的那个数.如果序列的大小是偶数,则没有最中间的数:此时中位数是最中间的两个数的平均数. 例如: [2,3,4],中位数是 3 [2,3],中位数是 (2 ...
- Java实现 蓝桥杯 历届试题 核桃的数量
历届试题 核桃的数量 时间限制:1.0s 内存限制:256.0MB 问题描述 小张是软件项目经理,他带领3个开发组.工期紧,今天都在加班呢.为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑).他的 ...
- Java实现 蓝桥杯VIP 算法提高 林丹大战李宗伟
问题描述 我们用0表示林丹,1表示李宗伟. 输入数据中每行会给出一个0或者1,表示对应选手得1分. 当一方得分达到21分时,只要该方与对方分差超过1分,该方即胜出. 你需要输出最后获胜选手的代号. 输 ...
- Java实现 LeetCode 35 搜索插入位置
35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1, ...
- java实现第四届蓝桥杯快速排序
快速排序 题目描述 快速排序算法是典型的分治思想的运用.它使用某个key把全部元素分成两组,其中一组的元素不大于另一组.然后对这两组再次进行递归排序. 以下代码实现了快速排序.请仔细阅读代码,填写缺少 ...