我有一个运行良好的输入队列。有时,一条消息进入错误队列。现在,我希望能够检查这些消息,并且如果我知道此特定消息将通过,则可能再次将它们转发到输入队列。
我如何开始检查错误队列?有没有最佳做法?我不能只是做一个,.CreateBus().Start()因为这将从常规处理程序中触发处理程序。
检查队列的方式和获得的选项取决于所选的传输方式。
如果您将Rebus与MSMQ结合使用,检查队列(输入队列,错误队列,MSMS死信队列)并重试失败消息的最简单方法是启动Rebus Snoop。Rebus也具有用于MSMQ的ReturnToSourceQueue CLI工具。
如果您使用的是Azure Service Bus,我可以推荐Paolo Salvatori的Service Bus Explorer,我在一些项目中使用了我自己。
使用RabbitMQ时,我通常使用RabbitMQ的内置Web管理插件来检查队列,然后Rebus也为RabbitMQ附带了ReturnToSourceQueue CLI工具。
如果您使用的是SQL Server,建议您启动SQL Server Management Studio并启用SQL-fu;)
如果你想代码的东西做某种自动转发或处理失败的消息,我可以推荐使用卤面传输实现(即MsmsMessageQueue(沿MsmqUtil)RabbitMqMessageQueue,AzureServiceBusMessageQueue等等)来处理接收和原材料运输的邮件发送-这是我自己多次使用的一种方法,例如实现粗略的二级重试机制以及失败消息的转发和归档等。
| 归档时间: |
|
| 查看次数: |
1073 次 |
| 最近记录: |