我正在尝试将一个60mb的文件传输到队列,但是Websphere MQ可能会停止传输并继续恢复。我在默认配置下运行WebSphere MQ FTE。
我测试了以下场景,根据我所做的配置更改得到了不同的结果。
发出这些命令是为了创建监视器:
fteCreateTransfer -sa AGENT1 -sm TQM.FTE -da AGENT2 -dm QM.FTE -dq FTE.TEST.Q -p QM.FTE -de overwrite -sd delete -gt /var/IBM/WMQFTE/config/TQM.FTE/TEST_TRANSFER.xml D:\rvs\tstusrdat\ALZtoSIP\INC\*.zip
fteCreateMonitor -ma AGENT1 -mn TEST_MONITOR -md D:\rvs\tstusrdat\ALZtoSIP\INC -mt /var/IBM/WMQFTE/config/TQM.FTE/TEST_TRANSFER.xml -tr match,*.zip
测试文件:53MB和30MB
默认配置(只将enableQueueInputOutput=true添加到AGENT2.properties中)
- 未成功,传输状态:"正在恢复"
2)添加maxxinputoutputmessagelength =60000000,目标队列最大消息长度更改为103809024
- 结果传输状态:"failed" with以下异常PM71138: BFGIO0178E: A QUEUE WRITE failed with MESSAGE TEXT CC=2 RC=2142 MQRC_HEADER_ERROR
看完这个:http://pic.dhe.ibm.com/infocenter/wmqfte/v7r0/topic/com.ibm.wmqfte.doc/message_length.htm我来了工作设置:
3) maxInputOutputMessageLength=34603008
(其最大值),目标队列最大消息长度仍为103809024
- 文件大小为30MB的结果:success
- 结果:文件大小为53MB: "failed"与以下异常PM71138: BFGIO0178E:一个队列写失败由于WMQAPIEXCEPTION与消息文本CC=2 RC=2142 MQRC_HEADER_ERROR
所以根据这个我恐怕不能传输大于34603008字节
如果你正在传输文件到队列,你肯定不能使用默认设置。您必须在代理中添加"enableQueueInputOutput=true"。