MassTransit 与 RabbitMQ:消息何时移至错误队列

2024-01-09

我正在使用 RabbitMQ 版本 3.0.2 & 我在错误队列中看到接近 1000 条消息。我想知道

  1. 消息在什么时候被移至错误队列?
  2. 有没有办法知道为什么某个消息被移动到错误队列?
  3. 有什么方法可以将消息从错误队列移动到正常队列吗?

谢谢


  1. a) 无法反序列化或 b) 消费者处理该消息五次抛出异常
  2. 并非如此......如果您查看队列中的消息,有效负载标头可能包含注释,但我认为我们没有这样做。如果您打开日志记录(NLog、log4net 等),您应该能够在日志中看到异常。此时您必须关联消息 ID 才能找出确切原因。
  3. 没有通过大众运输的内置方式。主要是因为似乎没有一个很好的通用方法来处理这个问题。每个人都希望有一些围绕这个的过程。 Dru 确实创建了一个 BusDriver 应用程序(在主要 MT 源代码库 https://github.com/MassTransit/MassTransit/tree/master/src/Tools/BusDriver)可用于将消息移回相关交换。这种默认行为是存在的,所以你至少知道如果你不放入基础设施来处理它,事情就会失败。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MassTransit 与 RabbitMQ:消息何时移至错误队列 的相关文章

  • 通道适配器和消息网关模式有什么区别?

    无论我读了多少关于这两种模式的文章 我都看不出其中的区别 这是一个很好的问题 因为它们的相似之处在于它们都提供对消息系统的应用程序访问 我认为正是他们实现这一目标的方式使他们与众不同 通道适配器模式涉及如何从现有系统获取数据而不修改该系统
  • 无法在Windows上启用rabbitmq管理插件

    所以 这就是我所做的 在我的 Windows x64 位机器上安装了 Erlang 安装 RabbitMQ 启动 RabbitMQ 服务 这一步我没有任何错误 但是 当我尝试启用rabbitmq management时 我在控制台中收到一些
  • RabbitMQ - 升级到新版本并收到很多“PRECONDITION_FAILED Unknown Delivery Tag 1”

    刚刚升级到新版本的 RabbitMQ 2 3 1 现在出现以下错误 PRECONDITION FAILED unknown delivery tag 1 随后通道关闭 这适用于较旧的 RabbitMQ 无需客户端更改 在应用程序行为方面 当
  • 无法从 docker 将 RabbitMQ 连接到我的应用程序 [重复]

    这个问题在这里已经有答案了 我目前被这个问题困扰了大约一周 确实找不到合适的解决方案 问题是 当我尝试连接到 dockerized RabbitMQ 时 它每次都会给出相同的错误 wordofthedayapp wordofthedayap
  • Spring AMQP RabbitMQ 如何直接发送到Queue而不需要Exchange

    我正在使用 Spring AMQP 和 Rabbitmq 模板 如何直接将消息发送到队列而不使用Exchange 我该怎么做 我该怎么做 你不能 发布者不知道队列 只是交换和路由密钥 但是 所有队列都绑定到默认交换器 以队列名称作为其路由键
  • 使用 Celery(RabbitMQ、Django)检索队列长度

    我在 django 项目中使用 Celery 我的代理是 RabbitMQ 我想检索队列的长度 我浏览了 Celery 的代码 但没有找到执行此操作的工具 我在 stackoverflow 上发现了这个问题 从客户端检查 RabbitMQ
  • 死信交换 RabbitMQ 丢弃消息

    我正在尝试在 RabbitMQ 中实现 dlx 队列 场景很简单 我有 2 个队列 1 活着 2 死亡 x dead letter exchange 立即 x message ttl 5000 以及 立即 交换 这必然是 1 活着 我尝试运
  • RabbitMQ 失败,错误:无法连接到节点rabbit@TPAJ05421843:nodedown

    在 Windows 7 Enterprise 计算机上 我全新安装了 Erlang 17 4 和 RabbitMQ 3 4 3 x64 安装成功且顺利 我还没有尝试创建我的第一个队列或交换器 但我已经看到了麻烦 这个问题类似于另一个SO帖子
  • msgget() 和 mq_open 之间的区别

    我阅读了有关消息队列操作的信息 例如 msgget msgsnd 和 msgrcv 但是当我在堆栈溢出上搜索消息队列相关问题时 我发现还有另一组消息队列操作 例如 mq open mq send mq receive 谁能告诉我这两种类型的
  • Linux 消息队列 - 多个接收者

    我最近一直在研究和研究 Linux 消息队列 并遇到了一些我不太明白为什么会发生的事情 如果我们运行两个程序 它们都在无限 for 循环中使用 msgrcv 来检查消息 然后发送两条消息 那么第一个运行的程序将收到第一条消息 第二个程序将收
  • 定义具有多种消息类型的消息传递域

    到目前为止 我见过的大多数 F 消息传递示例都使用 2 4 种消息类型 并且能够利用模式匹配将每条消息定向到其正确的处理函数 对于我的应用程序 由于处理和所需参数的不同性质 我需要数百种独特的消息类型 到目前为止 每个消息类型都是其自己的记
  • 即使设置了 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
  • MassTransit 生成我想忽略的_skipped 队列

    任何人都可以猜出问题是什么 因为我不知道如何解决这个问题 大众运输产生 skipped队列 我不知道为什么它会生成这些队列 它是在执行发布请求响应时生成的 请求客户端是使用 MassTransit RequestClientExtensio
  • 更改 RabbitMQ 队列中的参数

    我有一个 RabbitMQ 队列 最初声明如下 var result channel QueueDeclare NewQueue true false false null 我正在尝试添加死信交换 因此我将代码更改为 channel Exc
  • RabbitMQ:如何创建和恢复备份

    我是 RabbitMQ 的新手 我需要一些帮助 如何备份和恢复到RabbitMQ 以及我需要保存哪些重要数据 谢谢 如果您安装了管理插件 您可以在Overview页 在底部你会看到导入 导出定义您可以使用它来下载代理的 JSON 表示形式
  • 使用 mosca MQTT 的请求响应模式

    有没有办法使用 mosca MQTT 实现请求响应模式 以 检查客户端的回复 如果在预期时间内未收到预期回复 则重新发布 我相信这在 Mqtt 5 中是可能的 但截至目前 我必须使用 QoS 1 的 Mosca 代理 支持直到 Mqtt 3
  • 如何使用 Java 在 RabbitMQ 中实现标头交换?

    我是一个新手 试图在java客户端中实现标头交换 我知道这就是 x match 绑定参数的用途 当 x match 参数设置为 any 时 只需一个匹配的标头值就足够了 或者 将 x match 设置为 all 强制所有值必须匹配 但任何人
  • RabbitMQ 等待消息超时

    我想向 RabbitMQ 服务器发送一条消息 然后等待回复消息 在 回复 队列上 当然 我不想永远等待 以防处理这些消息的应用程序出现故障 需要有一个超时 这听起来像是一项非常基本的任务 但我找不到方法来做到这一点 我现在在使用 Java
  • 消息队列与套接字

    我没有太多的套接字编程经验 但我尝试阅读一些相关内容 我对 MDB 和消息队列非常熟悉 有人告诉我队列 例如 MDB 只不过是直接套接字连接 有人可以帮我比较一下这两个吗 两者是无与伦比的 因为它们代表不同的layers 这就像将关系数据库

随机推荐

  • Kotlin 的 DAO 应该返回Optional还是null?

    在 Kotlin JPA 之前 我曾经这样编写 DAO 层 public interface UserDao extends JpaRepository
  • SQL 中 SELECT * 有什么缺点吗?

    假设我有一个执行 SQL 的程序 并且我想在表中查询 A B 和 C 列中的值 假设有一些列我并不严格需要 SELECT 和 SELECT A B C 有什么区别 到目前为止我的想法如下 仅选择您需要的列 将需要更少的内存来存储结果 可能会
  • 在没有“脚本”条目的情况下实现“npm run x”行为?

    在已安装的 上下文 中运行节点命令node modules 您可以在scripts现场package json Eg scripts test mocha recursive test js compilers js babel regis
  • OS X sed -E 不接受扩展正则表达式

    我一直在尝试各种方法在 OS X 上使用 sed 做一些基本的事情 以下是一些简单测试的结果 echo foo bar 2011 03 17 17 31 47 foo bar sed s foo FOUND g 回报 如预期 FOUND b
  • Xcode账户认证失败

    当我尝试登录 Apple ID 帐户时出现问题 重新登录也没用 Xcode 14 0 我也遇到了同样的问题 我就是这样解决的 您必须访问该部分Xcode 帐户是 要访问它 您可以通过View accounts警告中出现的按钮或通过Xcode
  • bash 脚本可以同时运行命令然后等待它们完成吗?

    我想编写一个 bash 脚本 在其中同时运行两个命令 然后在它们都完成后继续 这是不起作用的 但我将其放在这里来说明我正在尝试做的事情 bin bash job1 job2 dostuffwithresults 该脚本将同时运行 job1
  • Selenium WebDriver 和 InternetExplorer

    我最近更新到 Selenium 2 24 1 以使 Firefox 13 正常工作 通过此更新 您现在可以运行类似于 chromedriver exe 的可执行文件 以便将事件分派到 IE 然而我没有运气让测试与 IE 一起运行 为了让它在
  • 如何在FOR循环中批量获取当前路径%CD%的信息?

    我设置了一个环境变量 其中包含多个逗号分隔的目录路径 并使用FOR循环将当前目录设置为变量中的下一个目录路径 我尝试获取当前路径 但结果看起来很奇怪 我尝试使用以下代码 set a C test A C test B C test C fo
  • lambda 和 LINQ 之间的区别? [复制]

    这个问题在这里已经有答案了 有人可以解释一下 lambda 和 linq 之间的区别吗 请不要向我指出其他 stackexchange 答案或琐碎的解释 我已经检查了其中的大部分 它们非常令人困惑 这些天我使用了一些 LINQ 我相信 其表
  • 更改来自 Lambda (Node.js) 的 Cloudwatch 日志的日志格式

    If I do console log message 在我的代码中 它在 Cloudwatch 中显示为 2017 03 16T18 58 21 823Z 863c835c 0a7a 11e7 9140 e5018d6e5029 mess
  • Hibernate Session 不使用 JpaTransactionManager 事务

    我正在开发一个使用 Spring 框架 4 3 3 RELEASE 和 Hibernate 5 2 3 Final 的项目 并且我开始转向使用 Spring Data JPA 我刚刚迁移了LocalSessionFactoryBean wi
  • DialogFragment 中未调用 OnCancelListener

    我有一个简单的AlertDialog显示一些项目的列表 单击其中一个项目后 所单击的项目将传回封闭的项目Activity 我还想在用户取消对话框时执行一些默认处理 使用返回键 更具体地说 在这种情况下 我想将空字符串传递给活动 但是 如果我
  • 在另一个用户上下文中执行代码

    我有一个应用程序 其清单需要以管理员身份运行 但该应用程序的一部分是使用 WNetAddConnection2 映射驱动器 我认为由于凭据等原因 它需要在正常用户上下文中运行 有没有办法执行此操作普通用户上下文中的一些代码 无需创建单独的进
  • 在 CentOS 上安装 psycopg2 时遇到问题

    我正在尝试在 CentOS 上安装 psycopg2 我遵循了这方面的所有内容tutorial http thebuild com blog 2009 10 17 wordpress to djangopostgresql part 3 i
  • 如何使用多个索引从 NumPy 数组中获取值

    我有一个 NumPy 数组 如下所示 arr np array 100 10 200 42 4 14 89 00 34 55 1 12 如何通过索引从该数组中获取多个值 例如 如何获取索引位置1 4 5处的值 我正在尝试这样的事情 这是不正
  • 使用资源设置窗口背景颜色

    我需要使用资源来设置 WPF 应用程序中主窗口的颜色 由于资源声明位于窗口声明之后 我正在导入资源字典 因此我无法使用Background财产在Window目的 所以 我想我应该这样设置背景
  • 如何使用 LAG() 忽略 BigQuery 中的空值?

    使用时LAG 在 BigQuery 标准 SQL 中 https cloud google com bigquery docs reference standard sql functions and operators 如何跳过NULL值
  • 位置固定元素

    我真的被 HTML5 的一个小问题困扰了 我只是想定位一个固定元素 我有一个 jpg 作为标题 在下面我有一个名为 menu 的 div 其中包含导航 我一直在尝试通过 jss 和许多 css 规则使这个 div 菜单固定 因为当我向下滚动
  • 在 R 中重写这个列表理解

    gt gt gt x y for x y in zip range 3 1 11 111 0 11 222 不是这样的 gt data frame 0 2 c 1 11 111 X0 2 c 1 11 111 1 0 1 2 1 11 3
  • MassTransit 与 RabbitMQ:消息何时移至错误队列

    我正在使用 RabbitMQ 版本 3 0 2 我在错误队列中看到接近 1000 条消息 我想知道 消息在什么时候被移至错误队列 有没有办法知道为什么某个消息被移动到错误队列 有什么方法可以将消息从错误队列移动到正常队列吗 谢谢 a 无法反