使用EasyNetQ for RabbitMQ时的自定义错误队列名称?

时间:2015-02-24 12:52:46

标签: c# .net rabbitmq message-queue easynetq

而不是让我未处理的异常进入 EasyNetQ_Default_Error_Queue 我想知道是否有一种方法可以明确说明应该用于给定应用程序的错误队列的名称,因此错误不应该t ALL会在这个 EasyNetQ_Default_Error_Queue 中结束吗?

我可以看到如何指定常规消息队列名称,但无法找到有关错误队列名称的任何内容。

1 个答案:

答案 0 :(得分:10)

是的,您可以通过覆盖IConventions对象上的委托来自定义命名约定(或者只是创建自己的实现并将其注册为依赖项):

https://github.com/EasyNetQ/EasyNetQ/blob/master/Source/EasyNetQ.Tests/ConventionsTests.cs

这应该可行:

var bus = RabbitHutch.CreateBus("host=localhost");
bus.Advanced.Container.Resolve<IConventions>().ErrorExchangeNamingConvention = info => "MyExchangeNaming";
bus.Advanced.Container.Resolve<IConventions>().ErrorQueueNamingConvention = () => "MyErrorQueueNaming";