Azure服务总线死信

时间:2017-02-13 19:33:35

标签: azure azure-servicebus-queues

我正在尝试将所有deadletter消息重新提交回其原始队列。当我重新提交消息时,它又一次转向死信 这次我觉得这条消息可能有些问题。当我调试它时,它没有问题。 谁能帮我吗?

1 个答案:

答案 0 :(得分:0)

您的消息最终出现在DLQ中的可能情况是:

  1. 处理速度太慢,消息LockDuration过期,并且会再次重试消息,直到所有DeliveryCounts都用完并且消息是DLQ-ed。
  2. 你有一个激进的PrefetchCount。在LockDuration时间内预取且未处理的邮件会DeliveryCount增加(请参阅#1)
  3. 导致邮件被重新显示在队列中并被其他处理实例拾取时(或者如果您使用并发> 1的OnMessage API),导致邮件处理的LockDuration太短。
  4. 处理不断失败,导致消息最终以DLQ结束。
  5. 我怀疑你有#4。不确定如何重新提交,但您必须克隆消息并将其发回。有一个similar question here,看看。