NServicesBus完全禁用特定异常的FLR

时间:2016-02-21 00:15:18

标签: nservicebus

我正在尝试完全禁用某些特定异常的重试。

我知道在我的代码中 - 当我试图处理消息X并且处理程序抛出“ZZZ”类型异常时,我确信任何数量的重试都没有办法帮助;

我想要做的是立即将该消息直接发送到错误队列而不进行任何重试。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

我知道您已经接受了答案,但由于您试图绕过内置于特定场景的管道,您可以在try / catch中处理该消息,并将消息直接发送给错误排队或让FLR / SLR处理它。

请注意,这是理想情况。在大多数情况下,主动不鼓励处理消息的错误处理,而是允许基础设施管理它。

以下是可能的实施方式:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

编辑我推荐Marcin的评论包含在这个答案中,所以不容错过:

  

请记住,不使用此设置即可使用此方法   适当的邮件标题您将失去返回这些标题的能力   消息到源队列失败。请看看这个doco   有关详细信息:http://docs.particular.net/nservicebus/messaging/headers#retries-handling-headers。 - 马辛   霍普

答案 1 :(得分:0)

您无法进行第一级重试,仅适用于second level retries。我个人不会担心它(我有类似的东西,我知道某些例外它不会被修复)。让他们进入FLR通常没有任何缺点。