public class EventCreatedConsumerDefinition : ConsumerDefinition<EventCreatedConsumer>
{
protected override void ConfigureConsumer(IReceiveEndpointConfigurator endpointConfigurator,IConsumerConfigurator<EventCreatedConsumer> consumerConfigurator)
{
endpointConfigurator.UseMessageRetry(r => r.Interval(5, 500));
endpointConfigurator.ConfigureDeadLetterQueueDeadLetterTransport();
endpointConfigurator.ConfigureDeadLetterQueueErrorTransport();
}
}
当配置为使用DEADENTER队列(DLQ)时,MassTransit将有故障或跳过的消息转移到DLQ,而不是创建单独的
__ERROR或
_skpipped。
如果消息消费者抛出异常,并且达到了所有重试/重新传递限制,则使用Azure SDK以及其他消息标头详细介绍了发生的原因/异常。对于如何处理DLQ中的消息,您可以使用Azure Service Bus Explorer(在Azure Portal中)或旧客户端Windows应用程序来检查/移动消息,或者考虑可以监视/可以监视/的SaaS服务(例如SaaS服务)为您移动这些消息。
是这样做的早期阶段工具,作者是MassTransit的联合创始人。