我想知道是否有可能编写Powershell脚本来将消息从一个MSMQ队列移动到另一个?
我在错误队列中有一些失败的消息(例如,由于涉及到对已关闭的服务器的调用而未能完成的消息),我想通过将它们移回它们的路径来重试。原始处理队列。我正在使用NServiceBus v6处理程序来侦听进入原始处理队列的消息,如果将这些消息放回到该队列中,它们将重新发送该消息。
在使用Powershell之前有人进行过此操作吗?
尤其是,我想在Powershell中执行以下操作:
我知道Powershell具有诸如Move-MsmqMessage之类的命令。我一直无法在线找到可用于此功能的示例。
非常感谢任何帮助。
答案 0 :(得分:2)
如果来自NServiceBus的错误队列中有消息,则可以使用此工具将它们返回到它们所在的原始队列中。
https://github.com/ParticularLabs/MsmqReturnToSourceQueue
它检查标头是原始队列是什么,然后将其再次发送到那里。这个想法是,任何端点都可以将消息发送到同一错误队列。然后可以使用ServiceControl或任何其他工具来消化它们。如果您将它们留在错误队列中,则此ReturnToSourceQueue
可以将它们发送回原始队列。