MaxMsgLength (10-digit signed integer) on IBM i

Maximum message length in bytes.

Local Model Alias Remote Cluster
X X

This is an upper limit for the length of the longest physical message that can be placed on the queue. However, because the MaxMsgLength queue attribute can be set independently of the MaxMsgLength queue manager attribute, the actual upper limit for the length of the longest physical message that can be placed on the queue is the lesser of those two values.

If the queue manager supports segmentation, it is possible for an application to put a logical message that is longer than the lesser of the two MaxMsgLength attributes, but only if the application specifies the MFSEGA flag in MQMD. If that flag is specified, the upper limit for the length of a logical message is 999 999 999 bytes, but typically, resource constraints imposed by the operating system or by the environment in which the application is running, results in a lower limit.

An attempt to place on the queue a message that is too long fails with reason code:

  • RC2030 if the message to too large for the queue
  • RC2031 if the message to too large for the queue manager, but not too large for the queue

The lower limit for the MaxMsgLength attribute is zero. The upper limit is determined by the environment:

  • On IBM i, the maximum message length is 100 MB (104 857 600 bytes).

For more information, see the BUFLEN parameter described in MQPUT (Put message) on IBM i.

To determine the value of this attribute, use the IAMLEN selector with the MQINQ call.

Parent topic: Attributes for queues