已收到但未交付Windows 2008 R2的MSMQ消息

编程入门 行业动态 更新时间:2024-10-12 05:55:35
本文介绍了已收到但未交付Windows 2008 R2的MSMQ消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个名为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上的临时传出队列为空
  • 我在这里有点头脑,因为我根本无法解释该消息.任何帮助将不胜感激.

    我发现此链接 blogs.msdn/b/johnbreakwell/archive/2010/01/22/why-does-msmq-keep-losing-my-messages.aspx 这样我将看看这是否能解释我的问题.将以任何分辨率回发.

    Edit2:好的,我讨厌这个问题,但是问题本身已经解决了.在上述配置中,我没有进行任何更改.但是我现在可以正常工作了.

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

    解决方案

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

    I have a transactional queue called myPrivateTransactionalQueue hosted on a Win2008R2 server called myReceivingServer which should receive messages from another server called mySendingServer. When the mySendingServer sends a message, an entry appears in the MSMQ log on mySendingServer which says:

    Message with ID {f748cc48-8017-4a64-9ff6-61c68564445f}\56008 was sent to queue DIRECT=OS:<myReceivingServerName >\private$\<myPrivateTransactionalQueue>

    However, myReceivingServer, in the MSMQ log there is a single entry:

    Message came over network

    However the message is not being delivered to myPrivateTransactionalQueue on myReceivingServer. Things I have looked at so far:

  • Application event log on myReceivingServer has no errors
  • On myPrivateTransactionalQueue "Everyone" and "Anonymous Logon" are granted Full Control
  • Transactional dead letter queue on myReceivingServer is empty
  • Temporary outgoing queue on mySendingServer is empty
  • I am going a bit mental here because I cannot account for the message at all. Any help would be much appreciated.

    Edit: I found this link blogs.msdn/b/johnbreakwell/archive/2010/01/22/why-does-msmq-keep-losing-my-messages.aspx so I will see if this explains my problem. Will post back with any resolution.

    Edit2: OK I hate this but the problem just kind of sorted itself out. I didn't change anything in the above configuration. But I now have it working.

    Edit3: This is a comment from John Breakwell: To ensure you know the root cause when you see this problem again (and there's no reason to believe it has gone for good), you need to enable some options, such as negative source journaling as mentioned in my blog. Now you know your system isn't resilient, it's a good time to fix it

    解决方案

    Ok I had exactly the same problem and it either resolved itself because of two reasons. I updated the computer name referenced in the message I was sending (previously it was an alias in my hosts) or it could have just been the fact that I enabled full control to everyone/anonymous on the receiving server and rebooted the machine.

    更多推荐

    已收到但未交付Windows 2008 R2的MSMQ消息

    本文发布于:2023-11-27 11:31:49,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1637885.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:但未   消息   Windows   MSMQ

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!