【发布时间】:2011-06-02 22:53:16
【问题描述】:
我在系统死信队列中有一些消息。我想将其移至传出队列。但即使我是盒子的管理员,我也无法这样做。我还尝试使用名为 queue explorer 的工具,但无法这样做。有出路吗?
【问题讨论】:
标签: msmq
我在系统死信队列中有一些消息。我想将其移至传出队列。但即使我是盒子的管理员,我也无法这样做。我还尝试使用名为 queue explorer 的工具,但无法这样做。有出路吗?
【问题讨论】:
标签: msmq
您必须自己编写一些内容才能重新发送消息。您应该能够像处理任何其他队列一样处理队列,例如:@"formatname:DIRECT=OS:.\system$;DeadXact"; PowerShell 可以解决问题。
【讨论】:
亚当是对的。
传出队列不是您可以写入的队列。
同样,您不能自己创建传出队列。
MSMQ 动态创建一个传出队列,以便它可以传递您为远程队列寻址的消息 - 基本上是按需发送的。
步骤如下:
1 从 DLQ 读取消息 A(如 Adam 建议的那样)
2 创建新消息 B 使用消息 A 的属性
3 将消息 B 发送到您选择的目的地。
干杯
约翰·布雷克韦尔
【讨论】:
使用 QueueExplorer 很容易做到这一点。
打开QueueExplorer,查看死信消息所在的死信队列(我们称之为SERVER A)。按目标队列排序以简化此操作。
打开另一个 QueueExplorer 副本,到您希望将死信条目移动到的队列所在的服务器 (SERVER B)。
在第一个 QueueExplorer 窗口中,选择 X 目标 (SERVER A) 的所有文件。然后,只需将它们拖到您打开的另一个 QueueExplorer 窗口(服务器 B)中它们应该进入的队列中。这是无需以编程方式将内容从死信队列移动到正确队列的最简单方法。
【讨论】: