Messages

A message is a collection of data sent by one application and intended for another application. MQe messages differ from those supported by MQ messaging:-

Table 1. Data types
TypeDescription
ASCIIString or a dynamic array of invariant ASCII strings, excluding any of the characters { } [ ] # ( ) : ; , ' " =
BooleanTrue or false value
ByteFixed array, or a dynamic array of byte values
Double floating pointValue, fixed array, or a dynamic array of double floating point values
FieldsObject or a dynamic array of fields objects (thus nesting of fields objects is supported)
Floating pointValue, fixed array, or a dynamic array of floating point values
Integer4 byte value, fixed array, or a dynamic array of integers
Long integer8 byte value, fixed array, or a dynamic array of long integers
Short integer2 byte value, fixed array, or a dynamic array of short integers
UnicodeString or a dynamic array of Unicode strings

Additionally, messages include a UID (unique identifier) which is generated by MQe. This UID uniquely identifies each individual message object in the entire MQe network and is constructed from the:

Originating queue manager
This is the name of the originating queue manager, which must be unique. It is added by the queue manager on receipt of the message. As it is ASCII, every character is one byte long.
Creation time
This is the timestamp of a message. Therefore, in Java, this is the time that the message was created, and in C, this is the time that a field's item is added to a queue. The field item then becomes a message.
A message destined for another MQe queue manager does not require any additional information, though other properties are almost certainly present. Additional properties can:
  • Reflect current status
  • Be associated with a particular message subclass
  • Allow you to customize a message.
Note: In the C codebase a field's item only becomes a message upon arrival on a queue.

MQe adds property related information to a message (and subsequently removes it) in order to implement messaging and queuing operations. When sending a message between queue managers, you can add resend information to indicate that data is being retransmitted. Chapter 4, “Messaging”, of the MQe Application Programming Guide provides more information on message object properties.

Messages can also have attributes. Attributes are fundamental to the MQe security model and allow selective access to content and the protection of content. They have the following properties:

Table 2. Attribute object properties
PropertyDescription
AuthenticationControls access
EncryptionProtects the contents when the object is dumped (and allows restoration)
CompressionReduces storage requirements (for transmission and storage)
Rule (Not applicable to C codebase)Controls permitted operations

For more information on the properties in Attribute object properties, see Security.

Parent topic: How MQe works