死信交换 RabbitMQ 丢弃消息

2024-04-12

我正在尝试在 RabbitMQ 中实现 dlx 队列。 场景很简单 我有 2 个队列: 1)活着 2)死亡(x-dead-letter-exchange:“立即”,x-message-ttl:5000)

以及“立即”交换,这必然是 1) 活着

我尝试运行这个例子:http://blog.james-carr.org/2012/03/30/rabbitmq-sending-a-message-to-be-consumed-later/ http://blog.james-carr.org/2012/03/30/rabbitmq-sending-a-message-to-be-consumed-later/但似乎消息在 ttl 过期后被丢弃,并且不会在交换器上发布,因此我的活动队列始终为空。

我还尝试在管理控制台中手动创建队列,并且得到相同的行为。

我使用 Ubuntu/rabbitmq 3.0.0 以及 Mac OS X 和rabbitmq 2.8.7 对其进行了测试

我错过了什么吗?


当消息在 RabbitMQ 中“消失”时,问题通常出在绑定上。因此,为了让您的示例正常工作,我执行了以下操作:

  1. 创建了 2 个队列,活着,死了(使用 TTL 和 DLX)

  2. 创建了一个名为直接类型 DIRECT 的交换

  3. 使用路由键“死”在交换器“立即”和队列“活动”之间创建绑定 - 这样做的原因是,消息进入死队列的路由键(如果使用默认交换器是“死”的)需要在死信交换的绑定中匹配)。

这里重要的部分是之间的绑定即时交换和alive queue.

为了测试我将消息发布到死队列中,我可以看到它短暂地出现在死队列中,然后出现在活动队列中。

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

死信交换 RabbitMQ 丢弃消息 的相关文章

  • 当我为rabbitmq-management创建用户时,发生了错误

    当我为rabbitmq创建用户时 root localhost rabbitmqctl add user admin admin 发生错误 消息 Creating user admin Error undef crypto hash sha
  • 删除已终止用户提出的会议请求

    需要一次从多个终止用户的所有会议室中删除终止用户发出的会议请求 下面是我构建的脚本 用于从所有会议室中删除两个已终止用户的会议请求 我用了OR如果我想删除两个已终止用户的会议 种类 来自 sasi 或 Kalai 的日历 请使用运算符 如何
  • 如何使用自动装配的 Spring Boot 监听多个队列?

    我是 Spring Boot 的新手 正在尝试它 目前我已经构建了一些应用程序 我希望能够通过队列相互通信 我目前有一个侦听器对象 可以从特定队列接收消息 Configuration public class Listener final
  • Akka 的语言和产品替代品是什么?

    现在我正在看游戏框架 https www playframework com 并且非常喜欢它 Play 中提供的功能中最受宣传的部分之一是Akka http akka io 为了更好地理解 Akka 以及如何正确使用它 您能告诉我其他语言或
  • rabbitmq-erlang-client,使用 rebar 友好的 pkg,在开发环境上工作在 rebar 版本上失败

    我成功地将rabbitmq erlang client的rebar友好包用于一个简单的Hello World rebarized和OTP 兼容 应用程序 并且在开发环境中工作正常 我能够启动 erl 控制台并执行我的操作applicatio
  • 如何在nodejs中验证rabbitmq?

    错误 握手被服务器终止 403 ACCESS REFUSED 消息 ACCESS REFUSED 使用身份验证拒绝登录 旋转机制平原 有关详细信息 请参阅代理日志文件 我单独尝试了 authMechanism PLAIN AMQPLAIN
  • 列出与rabbitmq java客户端API交换的绑定

    我似乎在文档中找不到任何信息 所以我想知道是否可以通过某种方式使用 java RabbitMQ API 获取与交换相关的所有绑定 我在查询 api bindings 时正在寻找类似 http api 结果的内容 api definition
  • RabbitMQ C# API:如何检查绑定是否存在?

    使用 RabbitMQ C API 我如何检查给定队列到给定交换是否存在绑定 很多 RabbitMQ 调用都是幂等的 所以有些人可能会说在这些情况下检查是不必要的 但我认为它们在测试中很有用 您可以使用他们的 REST API 来调用并查看
  • Outlook 宏在因错误而失败之前运行了 250 次迭代

    描述 我有一个 Outlook 宏 它循环浏览文件夹中选定的电子邮件并将一些信息写入 csv 文件 在失败之前 它一直可以完美地工作到 250 这是一些代码 Open strSaveAsFilename For Append As 1 Co
  • Interlocked.Exchange 可空小数

    我想交换两个可为空的十进制值 如下所示 o2 Interlocked Exchange ref o1 o2 类型 十进制 必须是引用类型才能将其用作泛型类型或方法 System Threading Interlocked Exchange
  • 使用 Javamail 访问 Microsoft Exchange 邮箱(IMAP、MS Exchange)

    我需要通过 IMAPS JavaMail 连接到 Microsoft Exchange Server 首先 我得到了 A1 NO AUTHENTICATE failed javax mail AuthenticationFailedExce
  • 在rabbitmq配置spring boot中在AMQP中配置多个Vhost

    我正在实现一个项目 我必须在rabbitmq中的不同虚拟主机之间发送消息 使用 SimpleRoutingConnectionFactory 但得到 java lang IllegalStateException 无法确定查找键的目标 Co
  • 如何使用 Celery、RabbitMQ 和 Django 确保每个用户的任务执行顺序?

    我正在运行 Django Celery 和 RabbitMQ 我想要实现的是确保与一个用户相关的任务按顺序执行 具体来说 一次执行一个 我不希望每个用户执行任务并发 每当为用户添加新任务时 它应该取决于最近添加的任务 如果此类型的任务已为此
  • ActionMailer 和 Exchange

    我使用 Rails 应用程序和 Postfix 服务器成功通过 SMTP 发送邮件 现在我需要转移到启用了 POP3 和 SMTP 支持的 Exchange Microsoft ESMTP MAIL 服务 版本 6 0 3790 3959
  • 在 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
  • 定义具有多种消息类型的消息传递域

    到目前为止 我见过的大多数 F 消息传递示例都使用 2 4 种消息类型 并且能够利用模式匹配将每条消息定向到其正确的处理函数 对于我的应用程序 由于处理和所需参数的不同性质 我需要数百种独特的消息类型 到目前为止 每个消息类型都是其自己的记
  • RabbitMQ Java 客户端自动重新连接

    当我的应用程序失去与 RabbitMQ 的连接时 我将其连接工厂设置为自动尝试并重新连接 ConnectionFactory factory new ConnectionFactory factory setUsername usernam
  • AMQP 消息的版本控制

    是否有关于在 AMQP 中使用版本化消息的既定最佳实践 假设我正在对消息模式进行语义版本控制 我希望支持消息的当前主要版本以及以前的主要版本 这是一个现实的期望吗 处理版本化消息的不同选项有何优缺点 我已经看到版本化路由密钥和版本消息头作为
  • 微服务、amqp 和服务注册/发现

    我正在研究微服务架构 实际上我想知道一些事情 我非常同意使用 返回 服务发现来在基于 REST 的微服务上发出请求 我需要知道发出请求的服务 或至少是服务器集群的前端 在哪里 因此在这种情况下能够发现 ip port 是有意义的 但我想知道

随机推荐

  • 使用 System.Web.Mail 发送电子邮件

    我想用asp发送电子邮件 我用这个代码 using System Web Mail MailMessage msg new MailMessage msg To email protected cdn cgi l email protect
  • dbms_output 语句中的单引号?

    我需要在 dbms output 语句中包含单引号 我试过这个 dbms output put line first name 这里的名字是variable 我需要在单引号内显示 它 你可以通过加倍逃脱 dbms output put li
  • Webpack 模块联合应用程序之间的热重载

    我开始尝试使用 webpack 模块联合的微前端 这是为了一个非常特殊的目的 因为在我们公司 我们开发大型软件 例如在基于角色的访问控制中做出反应的仪表板 我希望每个部分 或几乎 都是一个单独的应用程序 所以我设法实现了一切 只是我注意到当
  • 将自身引用为模板模板参数的模板类?

    这段代码 template
  • 将向量声明为类成员

    我在头文件中有简单的类 a hh ifndef a hh define a hh class a public int i a i 0 endif 然后我有一个文件 b cc include
  • 是否可以使用 Groovy XMLSlurper 解析子树

    有谁知道是否可以以某种方式使用 XMLSlurper 这意味着可以从非常大的 XML 文档中提取各个子树并单独进行处理 想象一下 您有一个巨大的 XML 提要 其中包含一个根元素 该根元素具有数千个可以单独处理的直接子元素 显然 将整个文档
  • 对于 Emacs,如何将 view-lossage 收集的内容存储到外部文件中?

    对于 Emacs 我如何存储内容view lossage收集到外部文件中 理想情况下 我希望将这些击键数据自动增量地存储到外部日志文件中 这意味着在 Emacs 启动时默认情况下会这样做 至少在 Emacs 24 中 我现在无法检查之前的版
  • .NET:如何有效地检查 50,000 个项目的 List 中的唯一性?

    在某些库代码中 我有一个可以包含 50 000 个或更多项目的列表 库的调用者可以调用导致将字符串添加到列表中的方法 如何有效地检查所添加字符串的唯一性 目前 在添加字符串之前 我会扫描整个列表并将每个字符串与要添加的字符串进行比较 当超过
  • 结构有对象且无法复制

    我正在尝试从我的第一个 MQL4 专家顾问开始 我创建了一个struct处理我的订单 struct Order int pair int command double quantity double entry double stopLos
  • 从 GPS 点绘制线

    我有大约 100 个 GPS 坐标列表 我想画出每个列表所构成的线 使用散点图绘制的列表之一 看起来有点像这样 显然那里有一条线 我尝试了几种方法来对 GPS 位置进行排序并绘制它们 lats lngs with open filename
  • MSMQ如何管理消息?

    看来MSMQ不使用任何数据库管理系统来管理消息 MSMQ如何管理消息 它将消息存储在平面文件中吗 我正在尝试实现一个消息管理系统 MSMQ 使用位于 windir system32 msmq 中的平面文件 如果你想实现自己的队列 我建议你看
  • 反序列化 json 数组以列出 wp7

    我需要从 json 内的子数组获取数据 但它没有转换成列表 下面是我的 json 字符串 responseCode 0 responseObject TotalRecords 25 TotalDisplayRecords 25 aaData
  • 如何使用 Ninject InRequestScope 处理异步调用?

    我们正在使用Ninject in an ASP NET Web API应用程序 然后我们绑定我们的DbContext with InRequestScope 这对于我们的大多数请求都很有效 因为它们同步完成所有工作 因此可以在请求完成后安全
  • 精确存储大整数

    在R软件中 a lt 123456789123456789123456789 sprintf 27f a 1 123456789123456791337762816 000000 我得到了错误的答案 我想要准确的a value 为什么系统显
  • Spring Batch 框架 - 自动创建批处理表

    我刚刚使用 Spring Batch 框架创建了一个批处理作业 但我没有运行 CREATE SQL 的数据库权限 当我尝试运行批处理作业时 框架尝试创建 TABLE BATCH INSTANCE 时遇到错误 我尝试禁用
  • 如何在 Julia 中提供可重现的样本数据

    Here on stackoverflow com 当我提供样本数据来制作可重现的示例时 我该如何以朱利安方式做到这一点 In R例如dput df 将输出一个字符串 您可以用它来创建df再次 因此 您只需将结果发布到 stackoverf
  • 当日期是日期时间且时间是字符串时,合并日期和时间

    我正在使用一个旧的 mysql 数据库 其中日期存储 没有时间 作为日期时间 时间存储为字符串 没有日期 在 C 中 我有一个 DateTime 其值类似于2010 06 25 12 00 00 AM和一个具有如下值的字符串15 02 在没
  • 禁用 Oracle 中所有作业的脚本(DBMS_JOB 包)?

    我正在寻找一个禁用所有作业的脚本 现在 我在 Toad 中将它们全部突出显示 单击脱机按钮 然后提交更改 在 PL SQL 中必须有一种方法来做到这一点 如果要阻止所有作业运行 可以更改初始化参数JOB QUEUE PROCESSES 如果
  • 避免在处理 config.properties 的 Java 类文件中使用静态方法和变量

    我正在开发一个简单的 Java 应用程序 并且创建了一个名为 Config java 的类来处理应用程序属性 从而避免硬编码 Config java 类不是静态类 我正在另一个名为 Serial java 的类中创建 Config java
  • 死信交换 RabbitMQ 丢弃消息

    我正在尝试在 RabbitMQ 中实现 dlx 队列 场景很简单 我有 2 个队列 1 活着 2 死亡 x dead letter exchange 立即 x message ttl 5000 以及 立即 交换 这必然是 1 活着 我尝试运