【发布时间】:2012-03-26 20:05:15
【问题描述】:
带有 NServiceBus 的“重试”系统很棒。它在确保像死锁这样的小事情不会把我们搞砸方面非常有效。
但是,有时我知道消息是错误的。糟糕的是,再多的重试也无济于事。
有没有办法告诉 NServiceBus:“这条消息是个坏苹果,把它移到错误队列中”?(让它跳过重试?)
【问题讨论】:
标签: nservicebus
带有 NServiceBus 的“重试”系统很棒。它在确保像死锁这样的小事情不会把我们搞砸方面非常有效。
但是,有时我知道消息是错误的。糟糕的是,再多的重试也无济于事。
有没有办法告诉 NServiceBus:“这条消息是个坏苹果,把它移到错误队列中”?(让它跳过重试?)
【问题讨论】:
标签: nservicebus
如果您使用的是 NSB 3,您可以查看 IManageMessageFailures 接口。这将允许您插入您的功能,但这是在消息失败之后。如果您想早点收到消息,请查看Message Mutators 功能。这可以让您同时进入传输层和应用层。
【讨论】:
在处理程序中调用Bus.DoNotContinueDispatchingCurrentMessageToHandlers(); 不是更简单的方法吗?
【讨论】: