AMQP 1.0 support
AMQP channels provide a level of support for AMQP 1.0-compliant applications.
AMQP channels support a subset of the AMQP 1.0 protocol. We can connect either MQ Light clients, Apache Qpid™ JMS clients, or other AMQP 1.0 compatible clients to an IBM MQ AMQP channel. To use all of the messaging features supported by AMQP channels, we must correctly set the value of certain AMQP 1.0 fields.
This information outlines the way AMQP fields must be formatted and lists the features of the AMQP 1.0 specification that are not supported by AMQP channels.
The following features of the AMQP 1.0 specification are either not supported or are limited in their use:
Link names
AMQP channels expect the name of an AMQP link to follow one of threefive formats:- A plain topic (for publishing and subscribing)
- Publishing messages: a plain topic string (for example, a link name of "/sports/football") causes a message to be published on the /sports/football topic.
- Subscribing to a topic to receive messages: a plain topic string (for example, a link name of "/sports/football" causes a subscription to be defined on the /sports/football topic.
- A private verbose topic (for subscribing)
- A verbose topic string that describes a private subscription in the form: "private:topic string" (for example: "private:/sports/football"). The behavior is identical to a plain topic string. The private declaration differentiates a subscription specific to a particular AMQP client from a subscription shared between clients.
- A shared verbose topic (for subscribing)
- A verbose topic string that describes a shared subscription in the form: "share:share name:topic string" (for example: "share:bbc:/sports/football").
For more information about the way AMQP messages are mapped to and from IBM MQ messages see Mapping AMQP fields onto IBM MQ fields (incoming messages).
Maximum lengths for topic strings, share names, and client IDs
The topic string, share name, and client ID must be contained within 10237 bytes. In addition, the maximum length of a client ID is 256 characters.
These maximum lengths mean that we can have one of the following:- a very long topic string, provided that the share name is short
- a long share name, but a short topic string
Container IDs
AMQP channels expect the container-id of an AMQP Open performative to contain a unique client ID. The maximum length of an MQ Light client ID is 256 characters and the ID can contain alphanumeric characters, percent sign (%), slash (/), period (.) and underscore (_).
Sessions
AMQP channels support only a single AMQP session. An AMQP client that attempts to create more than one AMQP session receives an error message and is disconnected from the channel.Transactions
AMQP channels do not support AMQP transactions. An AMQP attach frame that attempts to coordinate a new transaction or an AMQP transfer frame that attempts to declare a new transaction is rejected with an error message.Delivery state
AMQP channels only support a delivery state for disposition frames of Accepted, Released, or Modified. Note that, where a state of Modified is used, AMQP channels do not support the undeliverable-here option.
Parent topic: Developing AMQP client applicationsRelated information