有没有办法直接从 Rebus 错误队列处理消息

问题描述

目前我有一个 IErrorHandler 实现来处理进入 Rebus 错误队列的消息。然后,该处理程序将消息发布到一个 saga,该 saga 将输出限制到 Slack 通知通道。我认为可能有更简单的方法来做到这一点。我想让传奇对来自 Rebus 错误队列本身的消息实施 IHandleMessages。那可能吗?目前,我们启用了 FleetManager 进程,为了让我的自定义 IErrorHandler 工作,它必须使用 FleetManager API 选项将错误双重发布到错误队列和 FleetManager。这允许我的 IErrorHandler 被调用,因此我可以发布一条自定义消息来启动 slack saga 并且还向 FleetManager 提供它需要的数据。我的方法的问题是 Rebus 错误队列只会随着我不再关心的数据而增长。所以我想我的问题是:有没有办法处理那些 Rebus 错误队列消息?或者甚至更好,一旦我知道我的传奇中有这些错误队列消息,是否有一种简单的方法可以让它们消失?

注意:saga 的原因而不是简单地使用 FleetManager Slack 网络钩子是根据错误自定义计数阈值进行通知,而不是针对遇到的每个错误

解决方法

我想我刚刚意识到我可以采取的一种方法,即仍然使用我的自定义 IErrorHandler,但实际上并不处理有害消息,因此无论如何它都不会进入错误队列。相反,我只会发布由 saga 处理的自定义消息。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...