Ibm mq WebSphere MQ q程序对文件的读/写

Ibm mq WebSphere MQ q程序对文件的读/写,ibm-mq,Ibm Mq,我使用以下方法将队列内容写入文件: q-xb-ITESTQ-mTEST>messages.out 队列中有3条二进制消息已成功写入文件。现在我需要将相同的文件加载回队列(稍后加载到相同的队列)。当我这样做时: q-xb-oTESTQ-mTEST

我使用以下方法将队列内容写入文件:

q-xb-ITESTQ-mTEST>messages.out

队列中有3条二进制消息已成功写入文件。现在我需要将相同的文件加载回队列(稍后加载到相同的队列)。当我这样做时:

q-xb-oTESTQ-mTEST
它放9条信息,而不是3条。我猜在加载文件时格式被误读了。我注意到q程序中有-X选项。它有什么用途?我还有什么其他选择吗?

你真的需要看看QLoad程序()来解决这个问题。与Q程序的作者相同,每一点都是一个好工具。也免费。正如作者在手册中所解释的:

自从我发布了我的MA01(Q实用程序)SupportPac之后,我就有了 定期请求解释如何使用它卸载,以及 随后重新加载队列中的消息。答案一直是 这不是MA01的目的,肯定有一个 实用程序可用。好吧,在收到足够数量的请求后,我 我自己找了一个公用设施,但没有找到任何 符合要求。有人会说,我们需要的是一个非常简单的解决方案 将队列卸载到文本文件中的简单程序。这个 文本文件的概念很重要,因为有许多用户需要它 创建文件后更改文件的功能。我也发现 基于文本的文件更易于移植,因此如果 我们要卸载队列,比如在Windows上,然后加载消息 同样在Solaris机器上。这种方法的缺点是 该文件比二进制模式下的文件大。使用 字符而非字符的十六进制表示形式 它本身实际上占用了两倍的空间。然而,总的来说我是这样做的 不想像人们用这个程序卸载大量的数据 消息数据,但服务器上有一些测试消息或一些恶意消息 死信队列,然后将其更改并重新加载到其他位置


嗨,Rob,我让ma01工作,但是它只处理文本或amqsbcg输出(十六进制字符串),对吗?我处理二进制消息(ObjectMessage而不是TextMessage)。MO03是否支持加载/卸载二进制消息?严格的网络和安全策略不允许我自己下载和玩它。是的。这就是Paul在上面引用的段落中的意思,他谈到将消息存储为十六进制字符,并占用两倍的空间,就像它存储在二进制中一样。从本质上讲,MO03接受消息的十六进制转储,因此它是人类可读的,但是它可以很容易地从十六进制重新创建二进制文件。