RabbitMQ 中arguments详解(系列一之Message TTL)

2023-11-13

注:以下程序使用C#实现

在我们使用RabbitMQ声明队列时,其中最后一个参数是arguments,那么arguments到底有什么用呢,下面我们解释其中参数的第一中用法:即

消息过期时间:Message-TTL

我们将最后一个参数arguments声明为:

new Dictionary<string,object>{
{"x-message-ttl",1000*5}//消息5秒中过期
}


//使用方法
chaNnel.QueueDeclare("mytest",false,false,false,new Dictionary<string,object>{
{"x-message-ttl",1000*5}//消息5秒中过期
});

channel.QueueBind("mytest",string.Empty,"",null);
  1. 如果将这个参数放到QueueDeclare的最后一个参数中,那么所有放到该队列中的消息,都会只存活5秒钟,消息发送5秒钟之后,该消息会被删除(可通过RabbitMQ管理界面实时查看)
  2. 上面是针对某个队列中的所有消息而言,那么如果我们想针对某条消息设置过期时间,可以通过再BasicPublish中指定参数,用法如下:
var properties=channel.CreateBasicProperties();
properties.Expiration=(1000*5).ToString();
channel.BasicPublish(string.Empty,"",properties,Encoding.UTF8.GetBytes("你好"));

那么"你好"这条消息就会在发出5秒中之后,自动删除,无论有没有被消费

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RabbitMQ 中arguments详解(系列一之Message TTL) 的相关文章

  • 在使用 FromEventPattern 订阅之前捕获事件

    我正在使用 Rx 框架编写消息监听器 我面临的问题是 我正在使用的库使用一个消费者 每当消息到达时就会发布事件 我已经设法通过以下方式消费传入的消息Observable FromEventPattern但我对服务器中已有的消息有疑问 目前我
  • 为什么我无法使用 python 建立与rabbitMQ的连接?

    我正在学习如何使用rabbitMQ 我正在 MacBook 上运行rabbit MQ 服务器并尝试与 python 客户端连接 我按照安装说明进行操作here http www rabbitmq com install homebrew h
  • Rails:如何从服务或队列中监听/拉取?

    大多数 Rails 应用程序的工作方式都是等待来自客户端的请求 然后发挥其作用 但是 如果我想将 Rails 应用程序用作微服务架构的一部分 例如 并进行一些异步通信 服务 A 将事件发送到 Kafka 或 RabbitMQ 队列 而服务
  • 为什么 Celery 工作人员给出“OSError:套接字已关闭”

    我的与rabbitMQ一起工作的celery工作人员在工作几分钟后不断给我一个套接字错误 见下文 我想知道问题的主要原因是什么 我认为这可能是防火墙 但是 禁用防火墙并没有解决问题 我正在 Windows 10 机器上工作 C Users
  • Celery 3.0.1 中的框架错误

    我最近从 2 3 0 升级到 Celery 3 0 1 所有任务都运行良好 很遗憾 我经常收到 帧错误 异常 我还运行主管来重新启动线程 但由于这些线程从未真正被杀死 主管无法知道 celery 需要重新启动 有没有人见过这个 2012 0
  • 使用Camel的spring-rabbitmq组件时如何自动声明交换?

    我正在尝试从 Camel 3 x 迁移到 Camel 4 x 版本 因此我需要从rabbitmq替换组件spring rabbitmq With rabbitmq我正在使用的组件declare https camel apache org
  • 何时使用 RabbitMQ 铲子以及何时使用 Federation 插件?

    对于我工作的公司 我们希望使用 RabbitMQ 作为我们的主要消息总线 我们的想法是 每个应用程序都使用自己的虚拟主机进行内部通信 并且通过 shovel 或联合插件 我们可以在多个虚拟主机 甚至可能是多台机器 非集群 之间共享某些类型的
  • 在 RabbitMQ 监听器中隐藏运行时异常

    在某些故意发生的情况下 我使用了一些异常来拒绝消息 但在控制台中显示了乍一看似乎不太正常的异常 如何在登录控制台 文件时隐藏该特定异常 我正在使用 spring boot 和默认记录器 public static class Undispa
  • 如何在nodejs中验证rabbitmq?

    错误 握手被服务器终止 403 ACCESS REFUSED 消息 ACCESS REFUSED 使用身份验证拒绝登录 旋转机制平原 有关详细信息 请参阅代理日志文件 我单独尝试了 authMechanism PLAIN AMQPLAIN
  • 无法在Windows上启用rabbitmq管理插件

    所以 这就是我所做的 在我的 Windows x64 位机器上安装了 Erlang 安装 RabbitMQ 启动 RabbitMQ 服务 这一步我没有任何错误 但是 当我尝试启用rabbitmq management时 我在控制台中收到一些
  • 何时使用 RabbitMQ 而不是 Kafka? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我被要求评估 RabbitMQ 而不是 Kafka 但发现很难找到消息队列比 Kafka 更合适的情况 有谁知道消息队列在吞吐量 耐用性 延迟或
  • 死信交换 RabbitMQ 丢弃消息

    我正在尝试在 RabbitMQ 中实现 dlx 队列 场景很简单 我有 2 个队列 1 活着 2 死亡 x dead letter exchange 立即 x message ttl 5000 以及 立即 交换 这必然是 1 活着 我尝试运
  • 使用 RabbitMq 锁定和批量获取消息

    我正在尝试以一种更非常规的方式使用 RabbitMq 尽管此时我可以根据需要选择任何其他消息队列实现 消费者不会将 Rabbit 推送消息留给我的消费者 而是连接到一个队列并获取一批 N 条消息 在此期间它会消费一些消息 并可能拒绝一些消息
  • 在 docker-compose 文件中提供rabbitmq.conf会给出“sed:无法重命名/etc/rabbitmq/sedMaHqMa:设备或资源繁忙”

    我的 docker compose 看起来像这样 version 3 2 services mq hostname HOST NAME ports 5671 5671 5672 5672 15671 15671 15672 15672 en
  • 在 Windows 10 和 PHP 7.3 中安装 AMQP

    我想在 Windows 10 中使用 PHP 7 3 安装 AMQP 以便在 symfony 4 中使用 Windows 不使用任何 apache iis nginx 并直接由 symfony 运行 一切还好 直到 我决定在项目中使用rab
  • 即使设置了 cookie,RabbitMQ 身份验证也会失败

    我最近在运行 lattePanda 的 Windows 10 上安装了带有 ErlanOTP 的rabbitmq 我运行rabbitmqctl status并收到以下错误 C Program Files RabbitMQ Server ra
  • RabbitMQ Java 客户端自动重新连接

    当我的应用程序失去与 RabbitMQ 的连接时 我将其连接工厂设置为自动尝试并重新连接 ConnectionFactory factory new ConnectionFactory factory setUsername usernam
  • Erl 无法连接到本地 EPMD。为什么?

    Erlang R14B04 erts 5 8 5 source 64 bit rq 1 async threads 0 kernel poll false Eshell V5 8 5 abort with G root ip 10 101
  • RabbitMQ 管理插件窗口呈现为空白页面

    I have installed Erlang RabbitMQ and configured the management plugin as per the instructions on the website https www r
  • 基于多线程的 RabbitMQ 消费者

    我们有一个 Windows 服务 它监听单个 RabbitMQ 队列并处理消息 我们希望扩展相同的 Windows 服务 以便它可以监听 RabbitMQ 的多个队列并处理消息 不确定使用多线程是否可以实现这一点 因为每个线程都必须侦听 阻

随机推荐

  • IAR编译项目时报以下错误

    根本原因是因为你宏定义不符合规范
  • OpenCASCADE可视化:使用C/C++演示的3D术语表

    OpenCASCADE可视化 使用C C 演示的3D术语表 在本文中 我们将使用C C 代码和OpenCASCADE库来演示一些与3D图形相关的术语 OpenCASCADE是一个开源的CAD CAE CAM软件开发平台 它提供了丰富的几何建
  • KEIL5配置astyle

    比较清爽的参数 E style google U p n
  • lighttpd支持AJAX吗,lighttpd

    Lighttpd 是一个德国人领导的开源Web服务器软件 软件名称 lighttpd 软件版本 1 4 49 更新时间 2018 03 11软件语言 英语 简 介 Lighttpd 开源Web服务器软件 操作系统 Linux Windows
  • chrome使用指南

    目录 常用快捷键 常用插件 Octotree github源码浏览 GitCodeTree github gitee源码浏览 Axure RP Extension for Chrome 查看原型图 Tampermonkey 油猴脚本 云盘管
  • Flink CDC问题

    这里会列举出一些关键配置和遇到的问题 一直补充 Oracle CDC 1 SUPPLEMENTAL LOG在库和表上都需要执行 不是只有表上 ALTER TABLE inventory customers ADD SUPPLEMENTAL
  • 原生js触底加载案例

    data return RoomData isBool false limit 0 isLoading false methods roomClick value location href value RoomApi this limit
  • 4.网络配置与系统管理

    个人简介 作者简介 大家好 我是W chuanqi 一个编程爱好者 个人主页 W chuanqi 支持我 点赞 收藏 留言 愿你我共勉 若身在泥潭 心也在泥潭 则满眼望去均是泥潭 若身在泥潭 而心系鲲鹏 则能见九万里天地 文章目录 网络配置
  • mysql创建表时表明加单引号_python在MySQL表名周围插入单引号(‘)

    我有一个名为project1的数据库 其中包含以下表格 systbl1 systbl2 systbl3 dataset1 dataset2 dataset3 每当添加一个新用户时 都需要授予MySQL用户odbc对dataset 表的SEL
  • 组态王串口服务器虚拟串口,串口服务器USR-N510连接组态王设置步骤

    调试目的 USB RS232或者USB RS485串口线接USR N510串口和电脑USB口 MODBUS SLAVE软件打开COM口 模拟客户串口MODBUS RTU设备 USR N510网线和电脑直连 IP设置同网段 在电脑安装USR
  • unicode编码、字符的转换和得到汉字的区位码

    一 unicode编码 字符的转换截图 二 unicode编码 字符的转换代码 using System using System Collections Generic using System ComponentModel using
  • Visual Studio MFC编程 程序调试时所遇到的问题及解决方法

    本文中记录了笔者在基于Visual Studio MFC编程时 程序调试过程中所遇到的问题及解决方法 目录 1 Visual Studio MFC中的快捷方式 1 1 问题 Visual Studio MFC中修改好程序之后 怎样编译并建立
  • QT实现串口打开和关闭

    一 查找串口 windows 下面这个循环语句用来查找可以用的串口端口 不确定有多少串口可用 也就不知道循环多少次 所以用foreach 不知道用的就百度 foreach const QSerialPortInfo info QSerial
  • Linux常用操作命令

    Shell命令基础 root localhost root 用户名账号 计算机名 用户当前工作目录 文件与目录相关命令 1 ls命令 列出目录内容 执行ls指令可列出目录的内容 包括文件目录以及子目录 ls 参数 文件或目录 若无选定目录
  • 抽象类案例

    卡类 package Java project 1 public abstract class Card private String userName private double money public abstract void p
  • 数据库的连接串(中文)

    在数据库的各种应用程序开发中 连接数据库是数据库应用程序开发的第一步 同时也是最重要的一步 而对于不同的数据库他们的连接模式各有不同 对应的连接串也不同 Sql Server ODBC o 标准连接 Standard Security Dr
  • CSS之background-position属性

    1 作用 background position是用来控制元素背景图片的位置 以图片的左上角顶点为原点 属性值为正就代表图片下移或右移 属性值为负就代表图片上移或左移 它接受三种值 关键词 比如top right bottom left和c
  • WordPress:实现发布文章自动添加TAG标签

    在给我们的WordPress博客更新文章时 大多数人应该会给文章添加一些TAG标签 文章添加TAG标签也是我们做WordPress优化必不可少的一项 但是如果每一篇文章的关键字标签都要手动添加链接 那也太麻烦了 今天给大家分享一篇自动给文章
  • java---多重循环练习

    java 多重循环练习 1 关于多重循环的嵌套使用 举例 一 循环嵌套的用法 1 更加方便 重复率低的实现多步操作 二 使用步骤 1 多个循环结构嵌套 代码如下 示例 for 变量初始值 循环条件 迭代 for 变量初始值 循环条件 迭代
  • RabbitMQ 中arguments详解(系列一之Message TTL)

    注 以下程序使用C 实现 在我们使用RabbitMQ声明队列时 其中最后一个参数是arguments 那么arguments到底有什么用呢 下面我们解释其中参数的第一中用法 即 消息过期时间 Message TTL 我们将最后一个参数arg