【发布时间】:2011-09-22 01:59:52
【问题描述】:
我有一个名为 myPrivateTransactionalQueue 的事务队列,托管在名为 myReceivingServer 的 Win2008R2 服务器上,它应该从另一台名为 mySendingServer 的服务器接收消息。当 mySendingServer 发送消息时,mySendingServer 上的 MSMQ 日志中会出现一个条目:
Message with ID {f748cc48-8017-4a64-9ff6-61c68564445f}\56008 was sent to queue DIRECT=OS:<myReceivingServerName >\private$\<myPrivateTransactionalQueue>
然而,myReceivingServer,在 MSMQ 日志中只有一个条目:
Message came over network
但是消息没有被传递到 myReceivingServer 上的 myPrivateTransactionalQueue。到目前为止我看过的东西:
- myReceivingServer 上的应用程序事件日志没有错误
- 在 myPrivateTransactionalQueue 上,“所有人”和“匿名登录”被授予完全控制权
- myReceivingServer 上的事务性死信队列为空
- mySendingServer 上的临时传出队列为空
我在这里有点精神错乱,因为我根本无法解释该消息。任何帮助将不胜感激。
编辑:我找到了这个链接http://blogs.msdn.com/b/johnbreakwell/archive/2010/01/22/why-does-msmq-keep-losing-my-messages.aspx,所以我会看看这是否能解释我的问题。将以任何分辨率发回。
Edit2:好的,我讨厌这个,但问题本身就解决了。我没有更改上述配置中的任何内容。但我现在让它工作了。
Edit3:这是来自 John Breakwell 的评论:为了确保您在再次看到此问题时知道根本原因(并且没有理由相信它已经永远消失了),您需要启用一些选项,例如否定我的博客中提到的源日记。现在您知道您的系统没有弹性,现在是修复它的好时机
【问题讨论】:
-
是的,博客文章是一个很好的起点:-)
标签: msmq