为什么 amqsput 命令正在划分我的数据并推送到消息队列?

Why amqsput command is dividing my data and push to the message queue?

在测试我的应用程序时,我尝试使用 space 大约 200KB 的字符串。但是 amqsput 将我的请求分成多个部分。我不确定为什么会这样。如果我将大小减小到大约 100KB,那么它就可以正常工作。

我正在使用以下命令将数据推送到消息队列中:

amqsput MESSAGE_QUEUE MQM < /home/usr/sampleRequest.xml

sampleRequest.xml 包含格式为一行的 XML。我对 MQ admins/configuration 了解不多,想知道问题出在哪里。

为什么当文件大小大于某个值时它会分割我的数据并将其推送到队列中。

amqsput 和 amqsget 是用于将小消息放入队列和从队列中获取小消息的简单应用程序。如果查看 amqsput 的代码(即 amqsput0.c),您会看到使用的缓冲区大小为 65535 (64KB)。

有很多程序更适合您的测试类型。有一长串 C 示例 MQ 应用程序 here. The 2 that you might want to use are file2msg and msg2file. There is also Paul Clarke's QLoad 程序(以前是 SupportPac)。