将过期的死信消息重新提交回队列

时间:2017-02-22 14:16:29

标签: azure servicebus dead-letter

我在天蓝色服务总线死信队列中有大量的消息。当我看到这些消息时,我发现大多数消息都已过期。

我想知道当我们尝试将过期的死信队列消息重新提交回其原始队列时会发生什么?

有人可以帮我解释一下吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

我正尝试在下面回答您的两个问题,

当您从死信队列接收到过期消息以处理/重新提交到主队列时(使用ReceiveAsync()接收消息),消息的状态将更改为延迟状态。因此,该消息将不再可用于“按死信”队列中接收。

关于您的问题,当您重新提交邮件时会发生什么,它将作为新邮件提交到目标队列中。

答案 1 :(得分:0)

我们可以使用FormatDeadLetterPath() method为指定的死信队列路径构建格式名称,并创建接收器并从DLQ中检索消息。如果您要将消息重新提交回主队列,则可以根据DLQ中检索到的消息创建并发送新消息。您可以通过检查 DeadLetterReason DeadLetterErrorDescription 属性来调查邮件被删除的原因。

This link用样本解释了死信队列,请参考它。