【发布时间】:2012-07-04 23:45:06
【问题描述】:
IBM WebSphere MQ JMS 接口有 2 MB 的内置限制。
http://www-01.ibm.com/support/docview.wss?uid=swg21221260
有没有办法绕过这个限制?
【问题讨论】:
IBM WebSphere MQ JMS 接口有 2 MB 的内置限制。
http://www-01.ibm.com/support/docview.wss?uid=swg21221260
有没有办法绕过这个限制?
【问题讨论】:
多年前与 WAS 一起分发的 WMQ 版本的限制可追溯到 V5.1.1。如果这是问题,升级到当前版本的 WMQ 将解决它。 WMQ 的当前版本是 V7.0.1。 V6.0.2 仍然是最新的,但将在 2012 年 9 月停止服务。V6 和 V7 可以发送和接收高达 100MB 的消息,但 WMQ 本身默认为 4MB 开箱即用。如果需要大于 4MB 的消息,则需要调整 QMgr、队列和通道的参数,但 JMS 在现代版本中不是限制。
WMQ Java/JMS 手册没有特别提到最大大小,因为它与本机 WMQ 最大长度 100MB 相同。但是,WMQ V6 Performance Report 为最大 64MB 的 JMS 消息提供了基准。
阻止您放置 3MB 消息的任何因素都不是 WMQ 的 JMS 实现在消息大小方面的限制。如果您已经检查了所有通道和队列以及 QMgr 上的 MAXMSGL,那么它就不那么明显了,但它是配置。
【讨论】:
这听起来可能很费力,但它是一个解决方案:
例如
message.setStringProperty("JMSXGroupID", groupId);
message.setIntProperty("JMSXGroupSeq", i);
在接收方,您实现了一个选择器,以便在您收到第一条消息后立即获取组中的所有消息。检索组中的所有消息(希望您得到所有消息),正确排序,重新创建大字节数组,解组它,然后就完成了。
真的很琐碎.....
【讨论】: