我有一个PowerShell脚本,用于重放错误队列中的MSMQ消息。我希望 NServiceBus.FLRetries 更新并进一步失败。然而,这种情况并非如此。
我已阅读documentation但无法完全理解此特定标题。
我希望看到的是,当邮件继续无法处理时(例如,网络服务不可用),重试次数会增加。
我正在使用NSB 5.2。
如果以上标题不可用,我可以对此进行建模。
答案 0 :(得分:0)
不幸的是,这不起作用。
NServiceBus通过在发生异常时将接收事务针对队列滚动来实现第一级重试(FLR)。回滚事务意味着消息“永远不会离开”队列。因此,您无法修改消息,包括添加/更新任何标头,例如 NServiceBus.FLRetries 。 NServiceBus会在内存中跟踪此计数。
如果消息一直失败并移至二级重试(SLR),NServiceBus将添加 NServiceBus.FLRetries 标头以显示 FLR < / strong>总共尝试重试。
如果您确实需要跟踪重试次数,可以禁用 FLR ,而只使用 SLR 。 SLR 重试会为每次重试增加 NServiceBus.Retries 标头,因为它们不依赖于回滚接收事务。