MSMQ:如何将msg从事务死信队列发送到远程计算机上的专用队列

时间:2014-06-09 12:27:38

标签: msmq msmq-transaction

Windows Server 2012

MSMQ 6工作组模式

我们在尝试恢复发送到事务死信队列的MSMQ消息时遇到了问题。我们已经尝试将它们移动到出站队列,该消息似乎发送正常(即使事件日志也是如此)但是它永远不会到达目标队列。

经过反复试验,我们已经弄明白了如何将它们带到同一服务器上的另一个队列,但不能到达远程服务器上的目标队列。我们不想丢失任何消息。有没有人对我们如何传递这些信息有任何建议?

谢谢,

大卫

1 个答案:

答案 0 :(得分:0)

正如我理解你的问题,这是MSMQ中已有的一些消息的一次性问题,而不是机器之间的一般连接问题?如果是这样,您应该能够使用一些MSMQ管理工具解决它。免责声明:我是一个这样的工具的作者 - QueueExplorer。我不知道其他工具可以做什么,但使用QueueExplorer,您可以复制/粘贴或拖放消息到另一个在单独的选项卡/窗口中打开的机器。为了做到这一点,QueueExplorer必须执行MSMQ发送操作,因此消息必须通过这两台机器之间的MSMQ传递。 因此,如果仍然存在阻止原始发送的问题,您仍然会被卡住。在这种情况下,您可以将所有消息保存到文件中,通过文件系统将其传输到另一台计算机并将其加载到它们应该去的任何队列。这显然只是针对一种情况的手动解决方法。顺便说一句。这可以在QueueExplore的试用模式中完成。

如果问题出在连接上并且消息总是以死信队列结束,那么最好从计算机管理中检查它们。它是一个比我们的工具更好的领域 - 你可以打开" Class"列,并查看无法传递邮件的原因。例如,如果你看到"收到的时间已经过去"你会知道问题是什么。