【问题标题】:MSMQ messages received but not delivered Windows 2008 R2MSMQ 消息已收到但未送达 Windows 2008 R2
【发布时间】: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。到目前为止我看过的东西:

  1. myReceivingServer 上的应用程序事件日志没有错误
  2. 在 myPrivateTransactionalQueue 上,“所有人”和“匿名登录”被授予完全控制权
  3. myReceivingServer 上的事务性死信队列为空
  4. mySendingServer 上的临时传出队列为空

我在这里有点精神错乱,因为我根本无法解释该消息。任何帮助将不胜感激。

编辑:我找到了这个链接http://blogs.msdn.com/b/johnbreakwell/archive/2010/01/22/why-does-msmq-keep-losing-my-messages.aspx,所以我会看看这是否能解释我的问题。将以任何分辨率发回。

Edit2:好的,我讨厌这个,但问题本身就解决了。我没有更改上述配置中的任何内容。但我现在让它工作了。

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

【问题讨论】:

  • 是的,博客文章是一个很好的起点:-)

标签: msmq


【解决方案1】:

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

【讨论】:

  • 向我证实,这只是为匿名和所有人启用完全控制的行为。这样就完成了跟踪,并为我节省了很多挫败感。感谢您在这里的回答!
  • 遇到了同样的问题。使用发送消息添加匿名登录只为我解决了这个问题。
  • 这里也一样,最终通过授予用户“ANONYMOUS LOGON”完全权限来修复它。
【解决方案2】:

检查发件人死信队列寻找线索。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 2023-03-07
    • 2012-08-29
    • 1970-01-01
    相关资源
    最近更新 更多