Universal Messaging 10.11 | Concepts | AMQP | AMQP Guide | Appendix C: Universal Messaging Support for AMQP 1.0
 
Appendix C: Universal Messaging Support for AMQP 1.0
AMQP Term
Support Comment
Types
ProtonJ implementation which has all types implemented and we depend on that
2.1 Transport
2.1.1 Conceptual Model
Universal Messaging supports AMQP concepts relevant to a messaging broker
2.1.2 Communication Endpoints
UM provides support for 2 channels per AMQP connection (no multiplexing)
2.1.3 Protocol Frames
Supported
2.2 Version Negotiation
UM only supports version 1.0.0
2.3 Framing
2.3.1 Frame Layout
Supported
2.3.2 AMQP Frames
AMQP Maximum Frame size is limited to the configured UM Maximum Buffer Size
2.4 Connections
2.4.1 Opening A Connection
Not supported - UM is a broker
2.4.2 Pipelined Open
Not supported
2.4.3 Closing A Connection
Supported
2.4.4 Simultaneous Close
Supported
2.4.5 Idle Timeout Of A Connection
Supported - timeout is limited to the configured UM Connection Keep Alive
2.4.6 Connection States
Supported - ProtonJ
2.4.7 Connection State Diagram
2.5 Sessions
2.5.1 Establishing A Session
Not supported - UM is a broker
2.5.2 Ending A Session
Supported
2.5.3 Simultaneous End
Supported
2.5.4 Session Errors
Supported - ProtonJ
2.5.5 Session States
Supported - ProtonJ
2.5.6 Session Flow Control
Supported - ProtonJ
2.6 Links
2.6.1 Naming A Link
Supported - ProtonJ
2.6.2 Link Handles
Supported - ProtonJ
2.6.3 Establishing Or Resuming A Link
Not supported - UM is a broker
2.6.4 Detaching And Reattaching A Link
Supported
2.6.5 Link Errors
Supported - ProtonJ
2.6.6 Closing A Link
Supported
2.6.7 Flow Control
Supported - UM currently is unable to strictly honour window sizes < 100
2.6.8 Synchronous Get
Supported
2.6.9 Asynchronous Notification
Supported
2.6.10 Stopping A Link
Supported
2.6.11 Messages
2.6.12 Transferring A Message
Supported
2.6.13 Resuming Deliveries
Not supported - UM will re-publish all un-settled transfers if the connection is dropped
2.6.14 Transferring Large Messages
Supported - AMQP Max Frame size is limited to the configured UM Max Buffer Size
2.7 Performatives
2.7.1 Open
Supported - ContainerID is mapped to UM realm name and subject to previously noted limitations
2.7.2 Begin
Supported -Subject to previously noted limitations
2.7.3 Attach
Supported -Subject to previously noted limitations
2.7.4 Flow
Supported -Subject to previously noted limitations
2.7.5 Transfer
Supported -Subject to previously noted limitations
2.7.6 Disposition
Supported -Subject to previously noted limitations
2.7.7 Detach
Supported
2.7.8 End
Supported
2.7.9 Close
Supported
2.8 Definitions
2.8.1 Role
Supported - UM is a broker
2.8.2 Sender Settle Mode
Supported
2.8.3 Receiver Settle Mode
Supported
2.8.4 Handle
Supported
2.8.5 Seconds
Supported
2.8.6 Milliseconds
Supported
2.8.7 Delivery Tag
Supported
2.8.8 Delivery Number
Supported
2.8.9 Transfer Number
Supported
2.8.10 Sequence No
Supported
2.8.11 Message Format
Supported
2.8.12 IETF Language Tag
Supported
2.8.13 Fields
Supported
2.8.14 Error
Supported
2.8.15 AMQP Error
Supported
2.8.16 Connection Error
Supported
2.8.17 Session Error
Supported - Connection re-directs not supported
2.8.18 Link Error
Supported
2.8.19 Constant Definitions
Supported
3 Messaging
3.2 Message Format
3.2.1 Header
Supported
3.2.2 Delivery Annotations
Supported
3.2.3 Message Annotations
Supported
3.2.4 Properties
Supported - mapped to the equivalent JMS properties if present
3.2.5 Application Properties
Supported - mapped to UM event dictionary
3.2.6 Data
Supported
3.2.7 AMQP Sequence
Supported
3.2.8 AMQP Value
Supported
3.2.9 Footer
Supported
3.2.10 Annotations
Supported
3.2.11 Message ID Ulong
Supported
3.2.12 Message ID UUID
Supported
3.2.13 Message ID Binary
Supported
3.2.14 Message ID String
Supported
3.2.15 Address String
Supported
3.2.16 Constant Definitions
Supported
3.3 Distribution Nodes
Supported
3.4 Delivery State
3.4.1 Received
Supported
3.4.2 Accepted
Supported
3.4.3 Rejected
Supported
3.4.4 Released
Not Supported
3.4.5 Modified
Not Supported
3.4.6 Resuming Deliveries Using Delivery States
Not Supported
3.5 Sources and Targets
3.5.1 Filtering Messages
Supported - UM is a broker, only JMS message selectors supported for subscriptions
3.5.2 Distribution Modes
Supported
3.5.3 Source
Supported - UM is a broker
3.5.4 Target
Supported - UM is a broker
3.5.5 Terminus Durability
Supported - UM is a broker
3.5.6 Terminus Expiry Policy
Supported - UM is a broker mapped to UM store TTL
3.5.7 Standard Distribution Mode
Supported - Move used for queues, copy used for topics
3.5.8 Filter Set
Supported - UM is a broker
3.5.9 Node Properties
Supported - UM is a broker
3.5.10 Delete On Close
Not Supported
3.5.11 Delete On No Links
Not Supported
3.5.12 Delete On No Messages
Not Supported
3.5.13 Delete On No Links Or Messages
Not Supported
4 Transactions
4.1 Transactional Messaging
4.2 Declaring a Transaction
Supported for UM controlled transactions (local)
4.3 Discharging a Transaction
Supported for UM controlled transactions (local)
4.4 Transactional Work
4.4.1 Transactional Posting
Supported for UM controlled transactions (local)
4.4.2 Transactional Retirement
Supported for UM controlled transactions (local)
4.4.3 Transactional Acquisition
XA Not Supported - UM controlled transactions (local) are supported,
4.4.4 Interaction Of Settlement With Transactions
4.4.4.1 Transactional Posting
Not Supported
4.4.4.2 Transactional Retirement
Not Supported
4.4.4.3 Transactional Acquisition
Not Supported
4.5 Coordination
Supported - UM is a broker
4.5.1 Coordinator
Supported - UM only supports local transactions
4.5.2 Declare
Supported - UM only supports local transactions
4.5.3 Discharge
Supported - UM only supports local transactions
4.5.4 Transaction ID
Supported - UM only supports local transactions
4.5.5 Declared
Supported - UM only supports local transactions
4.5.6 Transactional State
Supported - UM only supports local transactions
4.5.7 Transaction Capability
Supported - UM only supports local transactions
4.5.8 Transaction Error
Supported - UM only supports local transactions - Subject to UM realm Transaction TTL configuration
5 Security
5.1 Security Layers
Supported - Limited to JVM SASL support
5.2 TLS
Negotiated TLS not supported, use alternative instead
5.2.1 Alternative Establishment
Supported - Limited to JSSE / JVM TLS support, mapped to NSPS interface
5.2.2 Constant Definitions
Supported
5.3 SASL
5.3.1 SASL Frames
Supported - ProtonJ
5.3.2 SASL Negotiation
Supported - ProtonJ
5.3.3 Security Frame Bodies
Supported - ProtonJ
5.3.3.1 SASL Mechanisms
Supported - ProtonJ
5.3.3.2 SASL Init
Supported - ProtonJ
5.3.3.3 SASL Challenge
Supported - ProtonJ
5.3.3.4 SASL Response
Supported - ProtonJ
5.3.3.5 SASL Outcome
Supported - ProtonJ
5.3.3.6 SASL Code
Supported - ProtonJ