将消息从死信队列移动到传出队列 MSMQ
我的系统死信队列中有一些消息。我想将其移至传出队列。但即使我是盒子的管理员,我也无法这样做。我还尝试使用名为队列资源管理器的工具,但无法这样做。有出路吗?
I have some messages in the system dead letter queue. I want to move it to the outgoing queue. But even though I am an admin on the box , I am unable to do so. I also tried using a tool by the name queue explorer but was unable to do so. Is there a way out ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 QueueExplorer 可以轻松完成此操作。
打开 QueueExplorer 并查看死信消息所在的死信队列(我们将此称为 SERVER A)。按目标队列排序,使这一切变得简单。
打开 QueueExplorer 的另一个副本,打开到您希望将死信条目移动到的队列所在的服务器(服务器 B)。
在第一个 QueueExplorer 窗口中,选择 X 目标 (SERVER A) 的所有文件。然后,只需将它们拖到您打开的另一个 QueueExplorer 窗口(服务器 B)中它们应该进入的队列中。这是将内容从死信队列移动到正确队列的最简单方法,无需以编程方式执行。
This is easily done with QueueExplorer.
Open QueueExplorer and view the dead letter queue where the dead letter messages are (we will call this SERVER A). Sort by destination queue to make this easy.
Open another copy of QueueExplorer, to the server where the queues you wish to move the dead letter entries to are located (SERVER B).
In the first QueueExplorer window, select all the files for X destination (SERVER A). Then, simply drag these into the queue they are supposed to go to in the other QueueExplorer window you opened (SERVER B). This is the easiest way to move stuff from the Dead Letter queue to the correct queue without doing it programatically.
亚当是对的。
传出队列不是您可以写入的队列。
同样,您不能自己创建传出队列。
MSMQ 动态创建传出队列,以便它可以传送您已为远程队列处理的消息 - 基本上是按需传送。
步骤是:
1 从 DLQ 读取消息 A(按照 Adam 的建议)
2 创建新消息 B 使用消息 A 的属性
3 将消息 B 发送到您选择的目的地。
干杯
约翰·布瑞克威尔
Adam is right.
The outgoing queue is not one that you can write to.
Similarly you cannot create an outgoing queue yourself.
MSMQ dynamically creates an outgoing queue so it can deliver messages you have addressed for a remote queue - basically on demand.
The steps are:
1 read message A from DLQ (as Adam advises)
2 create new message B uses properties from message A
3 send message B to destination of your choice.
Cheers
John Breakwell
您必须自己写一些内容才能重新发送消息。您应该能够像任何其他队列一样寻址队列,例如: @"formatname:DIRECT=OS:.\system$;DeadXact"; PowerShell 可以解决这个问题。
You will have to write something on your own to resend the messages. You should be able to address the queue just like any other such as: @"formatname:DIRECT=OS:.\system$;DeadXact"; PowerShell could do the trick.