RabbitMQ各个参数含义
queueDeclare(String queue,boolean durable,boolean exclusive,Map<String, Object> arguments);
queue: 队列名称
durable: 是否持久化, 队列的声明默认是存放到内存中的,如果rabbitmq重启会丢失,如果想重启之后还存在就要使队列持久化,保存到Erlang自带的Mnesia数据库中,当rabbitmq重启之后会读取该数据库
exclusive:是否排外的,有两个作用,一:当连接关闭时connection.close()该队列是否会自动删除;二:该队列是否是私有的private,如果不是排外的,可以使用两个消费者都访问同一个队列,没有任何问题,如果是排外的,会对当前队列加锁,其他通道channel是不能访问的,如果强制访问会报异常:com.rabbitmq.client.ShutdownSignalException: channel error; protocol method:
#method<channel.close>(reply-code=405, reply-text=RESOURCE_LOCKED - cannot obtain exclusive access to locked queue 'queue_name' in vhost '/', class-id=50, method-id=20)
一般等于true的话用于一个队列只能有一个消费者来消费的场景autoDelete:是否自动删除,当最后一个消费者断开连接之后队列是否自动被删除,可以通过RabbitMQ Management,查看某个队列的消费者数量,当consumers = 0时队列就会自动删除
arguments:
队列中的消息什么时候会自动被删除?Message TTL(x-message-ttl):设置队列中的所有消息的生存周期(统一为整个队列的所有消息设置生命周期), 也可以在发布消息的时候单独为某个消息指定剩余生存时间,单位毫秒, 类似于redis中的ttl,生存时间到了,消息会被从队里中删除,注意是消息被删除,而不是队列被删除, 特性Features=TTL, 单独为某条消息设置过期时间AMQP.BasicProperties.Builder properties = new AMQP.BasicProperties().builder().expiration(“6000”);
channel.basicPublish(EXCHANGE_NAME, “”, properties.build(), message.getBytes(“UTF-8”));Auto Expire(x-expires): 当队列在指定的时间没有被访问(consume, basicGet, queueDeclare…)就会被删除,Features=Exp
Max Length(x-max-length): 限定队列的消息的最大值长度,超过指定长度将会把最早的几条删除掉, 类似于mongodb中的固定集合,例如保存最新的100条消息, Feature=Lim
Max Length Bytes(x-max-length-bytes): 限定队列最大占用的空间大小, 一般受限于内存、磁盘的大小, Features=Lim B
Dead letter exchange(x-dead-letter-exchange): 当队列消息长度大于最大长度、或者过期的等,将从队列中删除的消息推送到指定的交换机中去而不是丢弃掉,Features=DLX
Dead letter routing key(x-dead-letter-routing-key):将删除的消息推送到指定交换机的指定路由键的队列中去, Feature=DLK
Maximum priority(x-max-priority):优先级队列,声明队列时先定义最大优先级值(定义最大值一般不要太大),在发布消息的时候指定该消息的优先级, 优先级更高(数值更大的)的消息先被消费,
- Lazy mode(x-queue-mode=lazy): Lazy Queues: 先将消息保存到磁盘上,不放在内存中,当消费者开始消费的时候才加载到内存中
- Master locator(x-queue-master-locator)
RabbitMQ各个参数含义相关推荐
- Java Calendar.add()方法的使用,参数含义。指定时间差。
cal.add()方法中的参数含义: 第一个参数如果是1则代表的是对年份操作,2是对月份操作,3是对星期操作,5是对日期操作,11是对小时操作,12是对分钟操作,13是对秒操作,14是对毫秒操作. 第 ...
- sklearn的train_test_split()各函数参数含义解释(非常全)
sklearn的train_test_split()各函数参数含义解释(非常全) sklearn的train_test_split()各函数参数含义解释(非常全) - The-Chosen-One - ...
- python函数type的用意_Python中type的构造函数参数含义说明
测试代码如下: 复制代码 代码如下: class ModelMetaClass(type): def __new__(cls,name,base,attrs): logging.info(" ...
- paip.提升效率--调试--日志系统日志参数含义---python
paip.提升效率--调试--日志系统日志参数含义---python #同时向控制台和文件输出日志 #日志参数含义 import logging log_format = '%(filename)s ...
- OpenGL透视投影函数gluPerspective的参数含义之解析(图示)
首先解释一下透视投影: **透视投影属于中心投影.**透视投影图简称为透视图或透视,它是从某个投射中心将物体投射到单一投影面上所得到的图形.透视图与人们观看物体时所产生的视觉效果非常接近,所以它能更加 ...
- 陶瓷气体放电管参数含义详解
很多客户反应,不太明白陶瓷气体放电管产品手册中的参数含义.不可否认,电路保护器件产品规格书手册用的语言大部分都是英文,没有一定的英文基础,还真消化不了.有时候,就算能看得懂,但是面对枯燥无味的参数, ...
- GoldenGate 基本参数含义
GoldenGate 基本参数含义 1. edit params命令 2. DBLOGIN USERID <user>, PASSWORD <password> 3. ADD ...
- cursor is oracle 日期_Oracle时间计算------日期格式参数含义说明
Oracle时间计算------日期格式参数含义说明 D 一周中的星期几 DAY 天的名字,使用空格填充到9个字符 DD 月中的第几天 DDD 年中的第几天 DY 天的简写名 IW ISO标准的年中的 ...
- lstm 输入数据维度_理解Pytorch中LSTM的输入输出参数含义
本文不会介绍LSTM的原理,具体可看如下两篇文章 Understanding LSTM Networks DeepLearning.ai学习笔记(五)序列模型 -- week1 循环序列模型 1.举个 ...
最新文章
- fiddler自动响应AutoResponder之正则匹配Rule Editor
- 【深度学习】高效读取数据的方法(TFRecord)
- ITK:线性强度变换
- 职高学的计算机单招考试能换专业吗,高职单招可以随便选专业吗
- Hadoop精华问答 | NameNode是什么?
- mysql with lock tables_mysql出现大量FLUSH TABLES WITH READ LOCK
- androidstudio自带git用法_Android Studio的git功能的使用介绍
- 关于STL allocator
- keycloak授权流程详解
- 项目组合、项目集、项目管理实践经验及思考
- php 2037时间问题
- 国内最知名的PHP开源网站管理系统,国内最强十款开源网站管理系统
- win10定时锁定计算机,Win10自动锁屏时间太长了怎么设置?Win10设置自动锁屏时间的操作...
- html中页面目录虚线怎么做,html中文本下面怎么有虚线
- 如何解决Word只能用安全模式打开
- android 十字架效果实现(水平和垂直滑动)
- Axure RP 8.0原型设计(一):入门
- 爬虫基础-----1.python基础
- 移动硬盘接android手机吗,笔点说:智能手机可以直接连接移动硬盘读取数据吗?...
- 译文:在闭包中使用循环变量是有害的
热门文章
- Scrapy爬取知乎用户信息
- Presto架构及原理、安装及部署
- [雪峰磁针石博客]2018最佳人工智能数据采集(爬虫)工具书下载
- Python中DataFrame去重
- jenkins手把手教你从入门到放弃02-jenkins在Windows系统安装与配置
- 为何电脑html无法删除,电脑文件无法删除该怎么办?几种解决方法介绍
- [Ext JS6] ViewControllers-视图控制器
- [Oracle]行列转换(行合并与拆分)
- 计算机辅助平面绘图是干嘛的,【1人回答】AutoCAD画图是什么,干什么用的?-3D溜溜网...
- android 按钮点击返回顶部,微信浏览器点击系统返回,安卓返回会重载页面回到页面顶部,iOS则返回则会保留之前浏览位置的解决方法...