在Azure BrokeredMessage上调用Abandon会增加传递计数

时间:2016-04-07 15:31:35

标签: azure servicebus

当我放弃BrokeredMessage时,消息传递计数会增加,从而有助于将其放入死亡消息队列中吗?

3 个答案:

答案 0 :(得分:7)

  

当我放弃BrokeredMessage时,邮件传递计数   增加并因此有助于将其放入死讯中   队列?

是的,确实如此。每当您放弃一条消息时,交付计数将增加1.当达到最大交付计数(默认值为10)时,它将被发送到死队列。

答案 1 :(得分:4)

BrokeredMessage.Abandon()仅解锁队列中的消息,以便其他消费者可以找到并锁定要处理的消息。它只能在peekLock模式下工作。

如果接收器应用程序由于某种原因无法处理消息,则它可以在接收到的消息上调用Abandon方法(而不是Complete方法)。这会导致Service Bus解锁队列中的消息,并使其可以通过相同的消费应用程序或其他消费应用程序再次接收。

您可以参考这篇文章:https://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-how-to-use-queues/以了解如何从队列中接收消息。

关于如何使用BorkerMessage.Abandon(),请参考https://msdn.microsoft.com/en-us/library/azure/hh181837.aspx

答案 2 :(得分:0)

以下帖子可以处理您的情况。在这里找到它作为评论并再次添加作为答案,因为它很容易被忽视。所有学分都应该转到@granadaCoder。

https://markheath.net/post/defer-processing-azure-service-bus-message