我有一个JMS / Websphere MQ消息分段的解决方法吗?

时间:2014-12-23 16:33:16

标签: jms ibm-mq

到目前为止,我没有找到使用IBM的JMS实现读取分段消息的解决方案(没有消息分组)。另见:is IBM MQ Message Segmentation possible using JMS?

是否有JMS客户端尚未接收分段消息的解决方法?

例如是否可以配置“MQ服务器组件”以将分段消息重新组合为JMS客户端的单个消息?其他想法?

1 个答案:

答案 0 :(得分:2)

如果重新组装的总消息保持在100MB(即允许的最大消息大小)之内,那么您可以拥有一个带有非JMS MQ API应用程序的临时队列来获取和重新组合消息,然后将大的重组消息放入队列中JMS应用程序来自。这将在它们遍历MQ网络时保留较小的消息,并且在应用程序检索它们之前的最后一点只是大(读低效)消息。

但是,如果重新组合的总消息大于100MB,如果正在使用段,则可能就是这种情况,那么上述解决方案将无济于事。

实际上,如果重新组装的总消息大于100MB,那么无论如何都无法通过客户端连接发送它,在这种情况下,您需要将该应用程序设置为队列管理器本地。

如果您是队列管理器的本地,那么也可能出现更改由JMS层进行的基础MQGET调用的API出口。如果您有本地队列管理器,则只能使用此方法,因为客户端API退出仅在C客户端中受支持。无论套接字另一端的客户端类型如何,您都可以跨越SVRCONN通道,但是您无法通过客户端通道发送大于100MB的消息,因此如果重新组合的总消息大于通道的MAXMSGL那么它无法发送。

相关阅读