[V8.0.0.4 Oct 2015][Windows][UNIX][Linux]

Mapping AMQP and IBM MQ message fields

AMQP messages are composed of a header, delivery annotations, message annotations, properties, application properties, body, and footer.

AMQP messages are composed of the following parts:
Header
The optional header contains five fixed attributes of the message:
  • durable - specifies durability requirements
  • priority - relative message priority
  • ttl - time to live in milliseconds
  • first-acquirer - if this is true, the message has not been acquired by any other link
  • delivery-count - the number of previous, unsuccessful delivery attempts.
Delivery-annotations
Optional. Specifies non-standard header attributes of the message for different intended audiences. Delivery annotations convey information from the sending peer to the receiving peer.
Message-annotations
Optional. Specifies non-standard header attributes of the message for different intended audiences. The message-annotations section is used for properties of the message which are aimed at the infrastructure and should be propagated across every delivery step.
Properties
Optional. This part is equivalent the MQ message descriptor. It contains the following fixed fields:
  • message-id - application message identifier
  • user-id - id of creating user
  • to - address of node that the message is destined for
  • subject - the subject of the message
  • reply-to - the node that the send replies to
  • correlation-id - application correlation identifier
  • content-type - MIME content type
  • content-encoding - MIME content type. Used as a modifier to the content-type.
  • absolute-expiry-time - the time when this message is considered expired
  • creation-time - the time when this message was created
  • group-id - the group that this message belongs to
  • group-sequence - the sequence number of this message within its group
  • reply-to-group-id - the group that the reply message belongs to
Applications-properties
Equivalent to MQ message properties.
Body
Equivalent to the MQ user payload.
Footer
Optional. The footer is used for details about the message or delivery that can only be calculated or evaluated after the whole bare message has been constructed or seen (for example, message hashes, HMACs, signatures and encryption details).

The AMQP message format is illustrated in the following figure:

shows the AMQP message format

The properties, application-properties, and application-data part are known as the bare message. This is the message as sent by the sender, and is immutable. The receiver sees the entire message, including the header, footer, delivery-annotations and message-annotations.

For a full description of the AMQP 1.0 message format, see https://docs.oasis-open.org/amqp/core/v1.0/amqp-core-complete-v1.0.pdf.