Skip to Content
Nov 12, 2009 at 09:39 PM

PI with MQ message segmentation and reassembly


There is a requirement to send large messages (>100 MB) using Websphere MQ and the PI JMS adapter. MQ has a 100 MB limitation on message size, but it has a feature called message segmentation and reassembly that allows large messages to be broken up into smaller messages. When a large message is put onto an MQ queue, the segmentation option is invoked with a MQPUT MD.MsgFlags = MQMF_SEGMENTATION_ALLOWED command in the message header. When the segmented messages are pulled off of a queue (using MQGET), it is necessary to use a GMO.Options = MQGMO_COMPLETE_MSG command to tell the queue manager to reassemble the message if it has been segmented.

From a PI perspective, if a message is being received off of a queue using the JMS sender adapter, it is necessary to send the GMO.Options = MQGMO_COMPLETE_MSG command to the queue manager so that segmented messages are reassembled.

If a large message is to be placed on a queue using the JMS receiver adapter, it is necessary to pass the MQPUT MD.MsgFlags = MQMF_SEGMENTATION_ALLOWED command to the queue manager so that the message will be segmented into smaller messages.

Is it possible for the PI to issue these commands to the queue manager using existing features or Adapter-Specific Message Attributes or Module Development or using other methods?