已收到MSMQ消息但未提供Windows 2008 R2

时间:2011-06-24 14:17:39

标签: msmq

我有一个名为myPrivateTransactionQueue的事务性队列,托管在名为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。到目前为止我看过的事情:

  1. myReceivingServer上的应用程序事件日志没有错误
  2. on myPrivateTransactionalQueue“Everyone”和“Anonymous Logon”被授予完全控制权
  3. myReceivingServer上的交易死信队列为空
  4. mySendingServer上的临时传出队列为空
  5. 我在这里有点心理,因为我根本无法解释这个消息。任何帮助将不胜感激。

    修改:我找到了这个链接http://blogs.msdn.com/b/johnbreakwell/archive/2010/01/22/why-does-msmq-keep-losing-my-messages.aspx,所以我会看看这是否解释了我的问题。将以任何决议回复。

    Edit2:好的,我讨厌这个,但问题只是解决了问题。我在上面的配置中没有改变任何东西。但我现在有了它的工作。

    编辑3:这是John Breakwell的评论:为了确保您在再次看到此问题时知道根本原因(并且没有理由相信它已经好转),您需要启用一些选项,例如否定我的博客中提到的源日记。现在您知道您的系统没有弹性,现在是修复它的好时机

2 个答案:

答案 0 :(得分:7)

好吧我有完全相同的问题,它要么解决了,原因有两个。我更新了我发送的消息中引用的计算机名称(以前它是我主机中的别名),或者可能只是我在接收服务器上启用了对每个人/匿名者的完全控制并重新启动了计算机。

答案 1 :(得分:1)

检查发件人死信队列以获取线索。

就我而言,在检查发件人死信队列后,我能够确定这是一个权限问题。

当队列未经身份验证时,仅授予“所有人”权限是不够的,但“anonymouns登录”也必须至少具有发送权限。