我是初學者,服務天藍。隨着時間的推移發送到隊列的消息。當消息過期時,我想收到它並調用一些方法來完成。我怎樣才能做到這一點?消息到期後的服務總線
-1
A
回答
1
有一個選項可以嘗試 - 在過期的郵件上啓用死信。
QueueDescription.EnableDeadLetteringOnMessageExpiration物業
獲取或設置一個值,該值指示此隊列是否有一紙空文支持的消息到期時間。
這將向隊列的DLQ發送消息。但是,這意味着如果您因爲其他原因(例如交貨次數超過最大值)而死信,您還會在DLQ中看到該消息。幸運的是,有一個原因屬性/標題(DeadLetterReason
)。對於由於TTL到期而移動到DLQ的郵件,value will be TTLExpiredException
。
0
當消息過期時,我想接收它並調用一些方法來完成。我怎樣才能做到這一點?。
據我所知,爲了拿起死信消息,你可以像普通隊列一樣構造隊列接收器。如果您有一個名爲「myqueue」的隊列,那麼DLQ路徑看起來像myqueue/$DeadLetterQueue
。
下面是用C#編寫從DLQ接收消息的代碼示例:
var deadletterReceiver = await receiverFactory.CreateMessageReceiverAsync(
QueueClient.FormatDeadLetterPath(queueName), ReceiveMode.PeekLock);
while (true)
{
var msg = await deadletterReceiver.ReceiveAsync(TimeSpan.Zero);
if (msg != null)
{
foreach (var prop in msg.Properties)
{
Console.WriteLine("{0}={1}", prop.Key, prop.Value);
}
await msg.CompleteAsync();
}
else
{
break;
}
}
有關詳細信息,你可以參考DeadletterQueue。此外,你可以按照官方教程get-started-with-queues並選擇你的開發語言。
相關問題
- 1. Azure服務總線消息
- 2. 未收到Azure服務總線消息
- 3. Windows服務總線消息消失
- 4. OSGi服務的消息總線
- 5. 服務總線的消息需要
- 6. Azure服務總線WCF服務啓動但未收到消息
- 7. Azure服務總線消息泵
- 8. 歸檔Windows Server服務總線消息
- 9. Azure服務總線消息例外
- 10. 解析服務總線Queue消息
- 11. Azure服務總線和消息會話
- 12. Azure服務總線消息重試TaskCancelationException
- 13. 消息隊列和服務總線的消息粒度
- 14. 互操作性Azure服務總線消息隊列消息
- 15. 用Azure服務總線中繼消息推送消息
- 16. Azure服務總線 - 對主題收到的消息的確認
- 17. 消息在天青服務總線隊列保留在隊列到期時間
- 18. 將消息從SQL添加到Azure服務總線隊列
- 19. 消息總線中的總線發現
- 20. Azure的服務總線撮合消息泵,等待着多種消息類型
- 21. 什麼是分區的消息在蔚藍的服務總線
- 22. 從Azure服務總線接收消息時的NPE隊列
- 23. 抽象出服務總線/分佈式消息的存在?
- 24. 通過MSMQ使用Rhino服務總線的消息
- 25. Azure服務總線 - 如何查看Azure門戶中的消息
- 26. 發送自定義消息Azure的服務總線
- 27. 扭曲的服務間消息傳遞/總線
- 28. AZURE服務總線如何使用訂閱消息來處理消息?
- 29. 消息隊列服務重新啓動後服務沒有收到消息
- 30. Liferay的消息總線
http://pmichaels.net/2017/07/02/azure-service-bus-send-e-mail-message-timeout/ –