RabbitMQ(十一)队列的扩展属性(Arguments)

目录

    • 一、简介
    • 二、队列扩展属性清单
    • 三、代码示例
      • 3.1 实现方式一:channel.queueDeclare()
      • 3.2 实现方式二:QueueBuilder.build()

在这里插入图片描述

一、简介

RabbitMQ 允许用户在声明队列、交换机或绑定时设置 扩展属性(Arguments),这些扩展属性可以用于 自定义和增强消息处理的行为。这里我们主要探讨 RabbitMQ 的 队列扩展属性

RabbitMQ 管理界面中的队列扩展属性:

在这里插入图片描述


二、队列扩展属性清单

队列扩展属性清单如下:

  • x-dead-letter-exchange:死信交换机。

  • x-dead-letter-routing-key:死信队列的路由键。

  • x-expires:队列在指定毫秒数后被删除。

  • x-message-ttl:队列的消息过期时间,单位为毫秒。

  • x-max-length:队列的消息条数限,限制加入 queue 中消息的条数。(先进先出原则,超过限制后,后面的消息会顶替前面的消息。)

  • x-max-length-bytes:队列的消息容量限制。(该参数和 x-max-length 目的一样,限制队列的容量,但是这个参数是靠队列大小(bytes)来进行限制。)

  • x-max-priority:队列的优先级,最大优先值为 255。

  • x-overflow:设置队列溢出行为。这决定了当达到队列的最大长度时消息会发生什么。有效值是:drop-head、reject-publish、reject-publish-dlx。

  • x-single-active-consumer:表示队列是否是单一活动消费者。

    值为 true 时,注册的消费组内只有一个消费者消费消息,其他被忽略。

    值为 false 时,消息循环分给所有消费者。(默认)

  • x-queue-mode:将队列设置为延迟模式,在磁盘上保留尽可能多的消息,以减少 RAM 的使用。如果未设置,队列将保留内存缓存以尽快地传递消息。

  • x-queue-master-locator:在集群模式下设置镜像队列的主节点信息。

  • x-ha-policy:创建 HA 队列,此参数已失效。

  • x-ha-nodes:HA 队列的分布节点,此参数已失效。


三、代码示例

3.1 实现方式一:channel.queueDeclare()

示例:声明一个包含扩展属性的队列。

Map<String, Object> args = new HashMap<>();
args.put("x-message-ttl", 60000); // 消息TTL为60秒
args.put("x-dead-letter-exchange", "myDeadLetterExchange"); // 死信交换机
args.put("x-dead-letter-routing-key", "myDeadLetterRouingKey"); // 死信路由键channel.queueDeclare("myQueue", true, false, false, args);

3.2 实现方式二:QueueBuilder.build()

示例:声明一个包含扩展属性的队列。

import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.QueueBuilder;Queue queue = QueueBuilder.durable("myQueue").withArgument("x-message-ttl", 60000) // 消息TTL为60秒.withArgument("x-dead-letter-exchange", "myDeadLetterExchange") // 死信交换机.withArgument("x-dead-letter-routing-key", "myDeadLetterRoutingKey") // 死信路由键.build();

整理完毕,完结撒花~ 🌻

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/333234.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美区PayPal个人版注册绑VISA虚拟卡支付教程,贝宝预防风控日常消费付款技巧

很多人有国区PAYPAL&#xff0c;但是国区有非常多的限制&#xff0c;比如说很多美区商户不支持国区PAYPAL付款&#xff0c;这是最主要的区别&#xff0c;其他就是转账限制。 绑定PAYPAL这里我用的是Fomepay 4288卡段的卡 我们先来注册绑卡&#xff0c;首先你需要搭建一个支付…

PostgreSQL从入门到精通 - 第40讲:数据库不完全恢复

PostgreSQL从小白到专家&#xff0c;是从入门逐渐能力提升的一个系列教程&#xff0c;内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容&#xff0c;希望对热爱PG、学习PG的同学们有帮助&#xff0c;欢迎持续关注CUUG PG技术大讲堂。 第40讲&#…

数据库基础2

一、基础数据类型 1、数值类型 2、字符串类型 3、时间类型 T就是一个完整的时间 4、数据类型转换 时间类型的计算函数 二、常用运算符 1、算术运算符 2、比较运算符 3、逻辑运算符

助推酒店产业智能化升级 I 喜尔康出席中国饭店协会成立三十周年总结展望大会

1月8日&#xff0c;中国饭店协会六届四次理事会暨中国饭店协会成立三十周年总结展望大会在广州隆重举办。 作为中国饭店协会理事单位及此次大会的赞助商&#xff0c;喜尔康受邀出席大会。现场&#xff0c;喜尔康集团董事长吴锡山发表了《智能家居 赋能后装修时代》的主题演讲&…

【Docker】可以将TA用于什么,简单了解下

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是是《Docker容器》序列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深…

ArcGIS中style文件的导入及lyr的文件的使用

地图是地理信息的重要载体&#xff0c;科学的配色方案可以有效地传递地理信息&#xff0c;而美观协调的配色方案也是我们进行地图符号化设计的重要内容。在日常工作中&#xff0c;我们常常苦恼于自带颜色不能满足需要或是希望使用现成的颜色模板&#xff0c;自定义配色方案导入…

SEO全自动发布外链工具源码系统:自动增加权重 附带完整的搭建安装教程

SEO全自动发布外链工具是一款基于PHP和MySQL开发的外链发布工具。它通过自动化流程&#xff0c;帮助站长快速、有效地发布外链&#xff0c;提高网站的权重和排名。该工具支持多种外链发布平台&#xff0c;如论坛、博客、分类信息等&#xff0c;可自定义发布内容和格式&#xff…

RT-Thread: CPU 使用率应用

关键词&#xff1a;RT-Thread cpu使用率&#xff0c;cpuusage.c , cpuusage.h 说明&#xff1a;使用 RT-Thread 希望知道 mcu 计算能力的使用率或cpu使用率。 注意&#xff1a;在调试CUP使用率时&#xff0c;根据参考资料移植了 cpuusage.c , cpuusage.h ,也调用了 void cpu_…

Retro-2 选择性抑制剂 1201652-50-7星戈瑞

Retro-2选择性抑制剂1201652-50-7是一种化学结构独特的化合物&#xff0c;具有高度选择性和高效性。其化学结构包含多个关键基团&#xff0c;这些基团在抑制Retro-2酶的同时&#xff0c;对其他酶的影响较小。 Retro-2选择性抑制剂1201652-50-7通过与Retro-2酶结合&#xff0c;…

yolov8实战第五天——yolov8+ffmpeg实时视频流检测并进行实时推流——(推流,保姆教学)

yolov8实战第一天——yolov8部署并训练自己的数据集&#xff08;保姆式教程&#xff09;_yolov8训练自己的数据集-CSDN博客 yolov8实战第三天——yolov8TensorRT部署&#xff08;python推理&#xff09;&#xff08;保姆教学&#xff09;-CSDN博客 今天&#xff0c;我们继续y…

前端面试题集合四(html)

HTML 面试知识点总结 本部分主要是笔者在复习 HTML 相关知识和一些相关面试题时所做的笔记&#xff0c;如果出现错误&#xff0c;希望大家指出&#xff01; 目录 1. DOCTYPE 的作用是什么&#xff1f;2. 标准模式与兼容模式各有什么区别&#xff1f;3. HTML5 为什么只需要写…

[DM8] 达梦8配置兼容Oracle

查看版本信息 select *&#xff0c;id_code from v$version; 查询解释&#xff1a; DM Database Server 64 V8 1-1-190-21.03.12-136419-ENT 64 版本位数标识&#xff0c;64表示为64位版本&#xff0c;无64则表示为32位版本 V8 大版本号&#xff0c;目前主要是V7、V8 1-1-190…