我是初学者,服务天蓝。随着时间的推移发送到队列的消息。当消息过期时,我想收到它并调用一些方法来完成。我怎样才能做到这一点?消息到期后的服务总线
-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/ –