3

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

q -xb -ITESTQ -mTEST > messages.out

我在队列中有 3 条二进制消息成功写入文件。现在我需要将同一个文件加载回队列(稍后同一个队列)。当我做:

q -xb -oTESTQ -mTEST < messages.out

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

4

1 回答 1

2

为此,您确实需要查看 QLoad 程序 ( SupportPac MO03 )。与 Q 程序相同的作者,每一点都是一个很好的工具。也是免费的。正如作者在手册中解释的那样:

自从我发布我的 MA01 (Q Utility) SupportPac 以来,我就定期要求解释如何使用它来卸载并随后重新加载队列中的消息。答案一直是这不是 MA01 的用途,而且肯定有一个可用的实用程序。好吧,在完成了足够多的这些请求之后,我自己寻找了一个实用程序,但并没有真正找到符合要求的任何东西。所需要的是一个非常简单的、有人会说不复杂的程序,它将队列卸载到文本文件中。文本文件的概念很重要,因为许多用户希望能够在文件创建后更改文件。我还发现基于文本的文件更便携,所以如果我们想卸载队列,比如在 Windows 上,这似乎很有用,然后在 Solaris 机器上再次加载消息。这种方法的缺点是文件比它在二进制模式下要大。使用字符的十六进制表示而不是字符本身来存储数据实际上使用了两倍的空间。然而,一般来说,我不设想人们使用这个程序来卸载大量的消息数据,而是在死信队列上卸载一些测试消息或一些恶意消息,然后将它们更改并重新加载到其他地方。

于 2012-08-03T19:45:28.797 回答