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