1.5.17. Capabilities

The broker recognises particular capabilities for source and targets. When attaching a link to or from a node in the broker, capabilities can be requested for the target or source respectively. If the broker recognizes the capability, and that capability is supported on the node in question, it will echo that capability in the attach response it sends back. This allows the peer initiating the link to verify whether the desired capabilities will be met.
The 'shared' capability allows subscriptions from an exchange to be shared by multiple receivers. Where this is specified the subscription queue created takes the name of the link (and does not include the container id).
The 'durable' capability is added if the queue or exchange referred to by the source or target is durable. The 'queue' capability is added if the source or target references a queue. The 'topic' capability is added if the source or target references an exchange. If the source or target references a queue or a direct exchange the 'legacy-amqp-direct-binding' is added. If it references a queue or a topic exchange, 'legacy-amqp-topic-binding' is added.
The 'create-on-demand' capability is an extension that allows legacy applications to use a 'create' policy in the messaging client. If set in the client and the named node does not exist, the node is created using the dynamic-node-properties, in the same way as when the dynamic flag is set.
This extension is provided for transition of legacy applications.