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 |