sde*_*mir 5 c# rabbitmq consumer easynetq
错误消息发布到默认EasyNetQ_Default_Error_Queue时,我有四个使用者,是否有可能每个队列使用者都编写自己的错误交换
例如;
Queue Name : A ErrorExchange :A_ErrorExchange
Queue Name : B ErrorExchange :B_ErrorExchange
Run Code Online (Sandbox Code Playgroud)
bus.Advanced.Conventions.ErrorExchangeNamingConvention = new ErrorExchangeNameConvention(info => "A_DeadLetter");
bus.Advanced.Conventions.ErrorExchangeNamingConvention = new ErrorExchangeNameConvention(info2 => "B_DeadLetter");
Run Code Online (Sandbox Code Playgroud)
从您所提供的代码,它看起来像你几乎没有-你只需要重写ErrorExchangeNamingConvention和ErrorQueueNamingConvention适当的。
举例来说,这是一个方法,该方法将返回IBus重写了这些约定以合并指定的使用者名称的实例:
public IBus CreateBus(string connectionString, string consumerName)
{
var bus = RabbitHutch.CreateBus(connectionString);
// Modify the following to create your error exchange name appropriately
bus.Advanced.Container.Resolve<IConventions>().ErrorExchangeNamingConvention =
info => consumerName + "_ErrorExchange";
// Modify the following to create your error queue name appropriately
bus.Advanced.Container.Resolve<IConventions>().ErrorQueueNamingConvention =
() => consumerName + "_ErrorQueue";
return bus;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
482 次 |
| 最近记录: |