【发布时间】:2013-02-10 03:08:51
【问题描述】:
在我的测试应用程序中,我可以看到处理过的异常消息被自动插入到默认的 EasyNetQ_Default_Error_Queue 中,这很棒。然后,我可以使用 Hosepipe 成功转储或重新排队这些消息,这也可以正常工作,但需要下拉到命令行并调用 Hosepipe 和 RabbitMQ API 以清除重试消息队列。
所以我认为我的应用程序最简单的方法是简单地订阅错误队列,这样我就可以使用相同的基础架构重新处理它们。但在 EastNetQ 中,错误队列似乎很特殊。我们需要使用正确的类型和路由 ID 进行订阅,所以我不确定错误队列的这些值应该是什么:
bus.Subscribe<WhatShouldThisBe>("and-this", ReprocessErrorMessage);
我可以使用简单的API来订阅错误队列,还是需要深入到advanced API?
如果我的原始消息的类型是TestMessage,那么我希望能够做这样的事情:
bus.Subscribe<ErrorMessage<TestMessage>>("???", ReprocessErrorMessage);
其中ErrorMessage 是EasyNetQ 提供的用于包装所有错误的类。这可能吗?
【问题讨论】: