如何从Rebus检查错误队列

时间:2014-07-24 19:24:18

标签: rebus

我有一个运行正常的输入队列。有时消息会出现在错误队列中。 现在我希望能够检查这些消息,并且如果我知道这个特定的消息将通过,可能会再次将它们转发到输入队列。

如何开始检查错误队列?有没有最佳做法? 我不能只做.CreateBus().Start(),因为这会触发普通处理程序的处理程序。

1 个答案:

答案 0 :(得分:4)

检查队列的方式和获得的选项取决于所选的传输方式。

如果您正在使用Rebus和MSMQ ,检查队列(输入队列,错误队列,MSMS死信队列)和重试失败邮件的最简单方法是启动{ {3}}。 Rebus也有Rebus Snoop

如果您正在使用Azure Service Bus ,我可以推荐ReturnToSourceQueue CLI tool for MSMQ我自己在一些项目中使用过的。{/ p>

使用RabbitMQ ,我通常使用RabbitMQ的内置Web管理插件来检查队列,然后Rebus也带有Paolo Salvatori's Service Bus Explorer

如果您正在使用SQL Server ,我可以建议启动SQL Server Management Studio并启用SQL-fu;)

如果您想编写某种自动转发或处理失败消息的内容,我建议使用Rebus的传输实现(即MsmsMessageQueue(以及MsmqUtil),{{1处理接收和发送原始传输消息的方法 - 这是我自己多次使用的方法,例如实施原始的二级重试机制以及失败消息的转发和存档等。