正在运行在同一台机器上使用多个msmq的系统,运行正常大约一天然后我在尝试将消息发布到其中一个队列时收到有关资源不足的错误。通过这篇博文调查:
http://blogs.msdn.com/b/johnbreakwell/archive/2006/09/18/761035.aspx
我没有看到有关调查死信队列的任何内容。
查看队列,意识到唯一留下任何消息的队列是事务死信队列,清除它,现在应用程序再次运行并可以将消息发布到私有队列。
我想我的主要问题是向我解释trans dead-letter队列以及我如何管理它。
感谢。
答案 0 :(得分:2)
博客中没有关于死信队列的任何内容,因为它只是一个队列,就像其他任何队列一样。
您在DLQ中有消息,因为您已在应用程序中启用了负源日记功能。错误条件意味着原始邮件已经死亡并最终出现在DLQ中,这是应用程序的要求。理想情况下,如果您使用DLQ,则会有一个单独的线程在其中查找消息。
您应该对服务器中的邮件总数启用监控,以便在邮件开始意外地堆积到某处时获得早期警报。
干杯
John Breakwell
答案 1 :(得分:1)
今天使用我们的MSMQ / NServiceBus设置进入此问题。据我所知,手动队列清除会将消息移动到Transaction Dead Messages队列。清除此队列解决了我们的问题。