0

我需要端点接收来自客户端的命令并订阅来自另一个端点的事件,例如:

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

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

MaxRetries 下注是否会根据消息类型设置不同?

4

2 回答 2

1

NServiceBus MaxRetries 设置是为了处理死锁之类的事情,所以在这种情况下并不是你想要的。

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

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

希望这可以帮助!

于 2013-01-30T01:32:08.787 回答
1

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

于 2013-01-29T21:35:38.303 回答