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各个参数含义相关推荐

  1. Java Calendar.add()方法的使用,参数含义。指定时间差。

    cal.add()方法中的参数含义: 第一个参数如果是1则代表的是对年份操作,2是对月份操作,3是对星期操作,5是对日期操作,11是对小时操作,12是对分钟操作,13是对秒操作,14是对毫秒操作. 第 ...

  2. sklearn的train_test_split()各函数参数含义解释(非常全)

    sklearn的train_test_split()各函数参数含义解释(非常全) sklearn的train_test_split()各函数参数含义解释(非常全) - The-Chosen-One - ...

  3. python函数type的用意_Python中type的构造函数参数含义说明

    测试代码如下: 复制代码 代码如下: class ModelMetaClass(type): def __new__(cls,name,base,attrs): logging.info(" ...

  4. paip.提升效率--调试--日志系统日志参数含义---python

    paip.提升效率--调试--日志系统日志参数含义---python #同时向控制台和文件输出日志 #日志参数含义 import logging log_format = '%(filename)s ...

  5. OpenGL透视投影函数gluPerspective的参数含义之解析(图示)

    首先解释一下透视投影: **透视投影属于中心投影.**透视投影图简称为透视图或透视,它是从某个投射中心将物体投射到单一投影面上所得到的图形.透视图与人们观看物体时所产生的视觉效果非常接近,所以它能更加 ...

  6. 陶瓷气体放电管参数含义详解

    ​很多客户反应,不太明白陶瓷气体放电管产品手册中的参数含义.不可否认,电路保护器件产品规格书手册用的语言大部分都是英文,没有一定的英文基础,还真消化不了.有时候,就算能看得懂,但是面对枯燥无味的参数, ...

  7. GoldenGate 基本参数含义

    GoldenGate 基本参数含义 1. edit params命令 2. DBLOGIN USERID <user>, PASSWORD <password> 3. ADD ...

  8. cursor is oracle 日期_Oracle时间计算------日期格式参数含义说明

    Oracle时间计算------日期格式参数含义说明 D 一周中的星期几 DAY 天的名字,使用空格填充到9个字符 DD 月中的第几天 DDD 年中的第几天 DY 天的简写名 IW ISO标准的年中的 ...

  9. lstm 输入数据维度_理解Pytorch中LSTM的输入输出参数含义

    本文不会介绍LSTM的原理,具体可看如下两篇文章 Understanding LSTM Networks DeepLearning.ai学习笔记(五)序列模型 -- week1 循环序列模型 1.举个 ...

最新文章

  1. fiddler自动响应AutoResponder之正则匹配Rule Editor
  2. 【深度学习】高效读取数据的方法(TFRecord)
  3. ITK:线性强度变换
  4. 职高学的计算机单招考试能换专业吗,高职单招可以随便选专业吗
  5. Hadoop精华问答 | NameNode是什么?
  6. mysql with lock tables_mysql出现大量FLUSH TABLES WITH READ LOCK
  7. androidstudio自带git用法_Android Studio的git功能的使用介绍
  8. 关于STL allocator
  9. keycloak授权流程详解
  10. 项目组合、项目集、项目管理实践经验及思考
  11. php 2037时间问题
  12. 国内最知名的PHP开源网站管理系统,国内最强十款开源网站管理系统
  13. win10定时锁定计算机,Win10自动锁屏时间太长了怎么设置?Win10设置自动锁屏时间的操作...
  14. html中页面目录虚线怎么做,html中文本下面怎么有虚线
  15. 如何解决Word只能用安全模式打开
  16. android 十字架效果实现(水平和垂直滑动)
  17. Axure RP 8.0原型设计(一):入门
  18. 爬虫基础-----1.python基础
  19. 移动硬盘接android手机吗,笔点说:智能手机可以直接连接移动硬盘读取数据吗?...
  20. 译文:在闭包中使用循环变量是有害的

热门文章

  1. Scrapy爬取知乎用户信息
  2. Presto架构及原理、安装及部署
  3. [雪峰磁针石博客]2018最佳人工智能数据采集(爬虫)工具书下载
  4. Python中DataFrame去重
  5. jenkins手把手教你从入门到放弃02-jenkins在Windows系统安装与配置
  6. 为何电脑html无法删除,电脑文件无法删除该怎么办?几种解决方法介绍
  7. [Ext JS6] ViewControllers-视图控制器
  8. [Oracle]行列转换(行合并与拆分)
  9. 计算机辅助平面绘图是干嘛的,【1人回答】AutoCAD画图是什么,干什么用的?-3D溜溜网...
  10. android 按钮点击返回顶部,微信浏览器点击系统返回,安卓返回会重载页面回到页面顶部,iOS则返回则会保留之前浏览位置的解决方法...