RabbitMQ十:重要方法简述(参数)
主要方法
前言
经过前面的学习,RabbitMQ 已经拙见有一定认识和了解,今天主要针对我们在前面学习方法进行一次小总结,本篇文章也想在开头写的,但是后来考虑,如果我都把方法都一一列举,我想大家都没很不懂,很多疑问。问这方法有什么用,怎么在实例中用,等一些问题出现在脑海里,学习起来很吃力,看不懂,不理解,经过每个情景进入抒写每个对应代码demo,然后把所有方法进行一次总结,也算一次温故而知新。
channel.exchangeDeclare()
参数:队列名称,是否持久,是否独家,自动删除,参数
QueueDeclare(string queue,durable true,exclusive false,autoDelete false, IDictionary<string, object> arguments); queue:队列名称(声明);
durable:bool类型,true:在服务器重启时,能够存活;
excludsive:是否为当前连接的专用队列,在连接断后,会自动删除该队列,生产环境中应该很少用到(是否独家);
autoDelete:当没有任何消费者使用时,自动删除该队列;
arguments:参数信息,参数设置。
channel.ExchangeDeclare()
参数:交换名称,类型,是否持久,自动删除,参数
ExchangeDeclare(string exchange,string type,bool durable,bool autoDelete,IDictionary<string, object> arguments)
exchange:交换名称(声明);
type:类型有三种:direct,fanout,topic,三种主要类型(前面demo中我们都有专题讲解,详细案例);
durable:bool类型,true:服务器重启会保留下来Exchange。警告:仅设置此选项,不代表消息持久化。即不保证重启后消息还在;
autoDelete:Bool类型,true:当已经没有消费者时,服务器是否可以删除该Exch;
arguments:参数设置。
channel.QueueBind()
参数:队列名称,交换机名称,绑定键
QueueBind(string queue,string exchange,string routingKey); queue:声明队列的名称;
exchange:声明交换机的名称;
routingKey:用于通过绑定bindingkey将queue到exchange,之后便可以进行消息接受。
channel.BasicPulish()
参数:交换机名称,路由键,参数设置,内容
BasicPublish(string exchange, string routingKey, IBasicProperties basicProperties, byte[] body); exchange:交换机名称;
routingKey:路由键;
basicproperties:参数的设置,值得注意是:basicProperties。deliverymodel:0不持久化,1持久化,这里指的是消息持久化;
body:(字节)内容。
channel.BasicAck()
参数:该消息的index,
BasicAck(ulong deliveryTag, bool multiple);
deliveryTag:该消息的index;
multiple:是否批量true:将一次性ack所有小于deliveryTag的消息;确认收到消息。
channel.BasicGet()
参数:队列名称; 可理解 是个消息标记,True:消息读取自动排除,下次不会读取到,false 消息没有排除,一直存在,
BasicGet(string queue, bool noAck); queue:队列名称;
noAck:消息的确认,True:消息读取自动排除,下次不会读取到;false 消息没有排除,一直存在。
channel.BasicConsume()
参数:队列名称;消息标记;消费者名称
BasicConsume(string queue, bool noAck, IBasicConsumer consumer); quere:队列名称;
noAck:消息的确认,True:消息读取自动排除,下次不会读取到;false 消息没有排除,一直存在;
consumer:消费者名称。
channel.BasicQos()
参数:0,设置RabbitMQ不要同时给一个消费者推送多余N个消息;bool类型,是否将上面设置应用与channel,简答点说,就是channel级别,还是consumer级别
BasicQos(uint prefetchSize, ushort prefetchCount, bool global); perfetchSize:0;设置为0,没有实际研究意义;
perfetchcount:会告诉RabbitMQ不要同时给一个消费者推送多于N个消息,一旦N个消息还没有ack,则将consume将block掉,知道消息ack;
global:bool类型,将上面设置应用与channel,简单说,就是上面限制channel级别还是consumer级别。
end
RabbitMQ写到这里,即将是尾声了,我也对RabbitMQ有了一定了解和认识,博客有时候不止帮助别人,某天回头温故的时候轻易上手,不会太耿,我会在整理看看相关资料,如果还有,继续出相关文档,如果没有,我就要进入下一个系列学习了。。。。哈哈哈,请举砖关注。。。。。。。其实官方提供的资料,demo已经足够我们使用各种场景,主要还是自己在项目和学习中去领悟,能熟练掌握场景下的使用。
- 博主是利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的纯镀 24k 文章,请原谅博主成为一个无耻的文档搬运工!
- 小弟刚迈入博客编写,文中如有不对,欢迎用板砖扶正,希望给你有所帮助。
RabbitMQ十:重要方法简述(参数)的更多相关文章
- RabbitMq Queue一些方法及参数
方法: 1.QueueDeclare 声明队列 public static QueueDeclareOk QueueDeclare(String queue, Boolean durable, Boo ...
- Android中View的绘制过程 onMeasure方法简述 附有自定义View例子
Android中View的绘制过程 onMeasure方法简述 附有自定义View例子 Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android fr ...
- iOS开发Swift篇—(十)方法
iOS开发Swift篇—(十)方法 一.简单说明 跟其他面向对象语言一样,Swift中的方法可以分为2大类: (1)实例方法(Instance Methods) 在OC中,实例方法以减号(-)开头 ( ...
- Java:方法的参数是传值还是传引用
Java中方法的参数总是采用传值的方式. 下列方法欲实现对象的交换,但实际上是不能实现的. public void swap(simpleClass a,simpleClass b){ simpleC ...
- MVC学习系列2--向Action方法传递参数
首先,新建一个web项目,新建一个Home控制器,默认的代码如下: public class HomeController : Controller { // GET: Home public Act ...
- CLR via C# 读书笔记---常量、字段、方法和参数
常量 常量是值从不变化的符号.定义常量符号时,它的值必须能在编译时确定.确定后,编译器将唱两只保存在程序集元数据中.使用const关键字声明常量.由于常量值从不变化,所以常量总是被视为类型定义的一部分 ...
- Atitit 记录方法调用参数上下文arguments
Atitit 记录方法调用参数上下文arguments 1.1. java java8 新的对象Parameter LocalVariableTable 本地变量表 MethodParamete ...
- JavaScript中以一个方法作为参数的写法
前言,我们写js的时候,经常会看到一些方法,比如说: $("#ids").click(function( alert("Click me"); )); ---- ...
- C#中方法的参数的四种类型
C#中方法的参数有四种类型: 1. 值参数类型 (不加任何修饰符,是默认的类型) 2. 引用型参数 (以ref 修饰符声明) 3. 输出型参数 (以out 修 ...
- XMLHTTP中setRequestHeader方法和参数
注意:在FF里面需要将open方法放在setRequestHeader之前 一.为何要用到setRequestHeader 通 常在HTTP协议里,客户端像服务器取得某个网页的时候,必须发送一个HTT ...
随机推荐
- Mac开发必备工具(一)—— Homebrew
Homebrew 简介 macOS 缺失的软件包管理器.使用 Homebrew 安装 Apple 没有预装但 你需要的东西.官网有中文说明. 安装与配置 Homebrew 的安装非常简单,将下面这条命 ...
- 高cpu分析
http://www.blogjava.net/hankchen/archive/2012/05/09/377735.html http://www.open-open.com/lib/view/op ...
- hihocoder 1082 然而沼跃鱼早就看穿了一切 (替换指定的串 )
#1082 : 然而沼跃鱼早就看穿了一切 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句 ...
- 装饰器模式(IO流案例)
装饰器模式,也成为包装模式,顾名思义,就是对已经存在的某些类进行装饰,以此来扩展一些功能.其结构图如下: Component为统一接口,也是装饰类和被装饰类的基本类型. ConcreteCompone ...
- html5--6-9 CSS选择器6--伪类选择器
html5--6-9 CSS选择器6--伪类选择器 实例 @charset="UTF-8"; /*:root{background: green}*/ /*li:first-chi ...
- SideBar---fixed定位
<style> /*外层fixed*/ body{ width:2000px; height:2000px; background:#000; } .wrap { position: ...
- AutoIt: WinGetClassList可以把当前窗口所有的handle全部列出来
WinGetClassList 是一个非常有用的函数,可以返回当前窗口中所有的handle.返回的是一个字符串,可以使用split函数来拆分之. Opt("WinTitleMatchMode ...
- 移植tslib库出现selected device is not a touchscreen I understand的解决方法
首发平台:微信公众号baiwenkeji 很多人在做触摸屏驱动实验,移植tslib库时,可能会出现错误提示“selected device is not a touchscreen I underst ...
- [ssh]记ssh的几种玩法
得到一台Linux的服务器,我们可以进行以下几种玩法: 先讲一讲几个参数: -f 要求 ssh在执行命令前退至后台.它用于当ssh准备询问口令或密语,但是用户希望它在后台进行.该选项隐含了-n选 ...
- Gradle系列之二 Groovy对文件的操作
Groovy对文件的操作 对文件的遍历 假设文件的原始内容为: hello,world 这里是北京 andorid and ios are good system 第一种方法:使用 eachLine( ...