如何在NService总线中的任何给定端点上为每种消息类型设置不同的MaxRetries?

时间:2013-01-29 19:13:33

标签: nservicebus

我要求端点从客户端接收命令,并且还要订阅来自其他端点的事件,例如:

1-接收到的命令只尝试一次,如果发生异常则发送到错误队列

2-无限期地尝试接收的事件,直到处理完

根据消息类型,MaxRetries赌注可以设置不同吗?

2 个答案:

答案 0 :(得分:1)

我查看了NSB source,我注意到MaxRetries不能为NSB 3.3中的不同消息采用不同的值。令人高兴的是,您可以override将消息转发到错误队列,并实现您自己的版本,检查失败消息是否为事件,然后转发到错误队列,您可以将其再次发送到当前端点。

答案 1 :(得分:1)

NServiceBus MaxRetries设置用于处理死锁之类的事情,所以不是你想要的这种情况。

您想要的是使用SLRs来处理这种情况。

要根据例外类型进行过滤,请查看http://andreasohlund.net/2012/09/26/disabling-second-level-retries-for-specific-exceptions/

希望这有帮助!