Control the size of multicast messages
Use this information to learn about the IBM MQ message format, and reduce the size of IBM MQ messages.
IBM MQ messages have a number of attributes associated with them which are contained in the message descriptor. For small messages, these attributes might represent most of the data traffic and can have a significant detrimental effect on the transmission rate. IBM MQ Multicast enables the user to configure which, if any, of these attributes are transmitted along with the message.
The presence of message attributes, other than topic string, depends on whether the COMMINFO object states that they must be sent or not. If an attribute is not transmitted, the receiving application applies a default value. The default MQMD values are not necessarily the same as the MQMD_DEFAULT value, and are described in Table 1.The COMMINFO object contains the MCPROP attribute which controls how many of the MQMD fields and user properties flow with the message. By setting the value of this attribute to an appropriate level, we can control the size of the IBM MQ Multicast messages:
- MCPROP
-
The multicast properties control how many of the MQMD properties and user properties flow with the message.
- ALL
- All user properties and all the fields of the MQMD are transmitted.
- REPLY
- Only user properties, and MQMD fields that deal with replying to the messages, are transmitted. These properties are:
- MsgType
- MessageId
- CorrelId
- ReplyToQ
- ReplyToQmgr
- USER
- Only the user properties are transmitted.
- NONE
- No user properties or MQMD fields are transmitted.
- COMPAT
- This value causes the transmission of the message to be done in a compatible mode to RMM, which allows some inter-operation with the current XMS applications and IBM Integration Bus RMM applications.
Multicast message attributes
Message attributes can come from various places, such as the MQMD, the fields in the MQRFH2, and message properties.
The following table shows what happens when messages are sent subject to the value of MCPROP (described previously in this section), and the default value used when an attribute is not sent.
Attribute | Action when using multicast | Default if not transmitted |
---|---|---|
TopicString | Always Included | Not applicable |
MQMQ StrucId | Not transmitted | Not applicable |
MQMD Version | Not transmitted | Not applicable |
Report | Included if not default | 0 |
MsgType | Included if not default | MQMT_DATAGRAM |
Expiry | Included if not default | 0 |
Feedback | Included if not default | 0 |
Encoding | Included if not default | MQENC_NORMAL(equiv) |
CodedCharSetId | Included if not default | 1208 |
Format | Included if not default | MQRFH2 |
Priority | Included if not default | 4 |
Persistence | Included if not default | MQPER_NOT_PERSISTENT |
MsgId | Included if not default | Null |
CorrelId | Included if not default | Null |
BackoutCount | Included if not default | 0 |
ReplyToQ | Included if not default | Blank |
ReplyToQMgr | Included if not default | Blank |
UserIdentifier | Included if not default | Blank |
AccountingToken | Included if not default | Null |
PutAppIType | Included if not default | MQAT_JAVA |
PutAppIName | Included if not default | Blank |
PutDate | Included if not default | Blank |
PutTime | Included if not default | Blank |
ApplOriginData | Included if not default | Blank |
GroupID | Excluded | Not applicable |
MsgSeqNumber | Excluded | Not applicable |
Offset | Excluded | Not applicable |
MsgFlags | Excluded | Not applicable |
OriginalLength | Excluded | Not applicable |
UserProperties | Included | Not applicable |
Related information