...
AMQP 1-0 message | AMQP 0-8...0-9-1 message |
|
|
| Implemented
| ||
---|---|---|---|---|---|---|---|
Section name | Property name | Type | Properties | Property name | Type | Comments | |
header | durable | boolean | message property | delivery mode | unsigned byte |
| Y |
header | priority | unsigned byte | message property | priority | unsigned byte |
| Y |
header | ttl | milliseconds/uint | message property | expiration | short-string | 'absolute-expiry-time' takes precedence over 'ttl' | Y |
properties | absolute-expiry-time | timestamp /ulong | message property | expiration | short-string | 'absolute-expiry-time' takes precedence over 'ttl' | Y |
header | delivery-count | uint |
|
|
|
|
|
header | first-acquirer | boolean |
|
|
|
|
|
message-annotation | x-opt-jms-msg-type | byte | message property | content type | short-string |
| N |
header | content-type | symbol | TODO | ||||
properties | content-encoding | symbol | message property | encoding | short-string | MCE is thrown on content-encoding length > 255 | Y |
properties | message-id | binary, uuid, ulong, string | message property | message id | short-string | if conversion to AMQShortString fails the field is not set. when converting from binary no restrictions are applied to the bytes. May contain invalid UTF-8 and/or zero-bytes. | Y |
properties | correlation-id | binary, uuid, ulong, string | message property | correlation id | short-string | if conversion to AMQShortString fails the MCE is thrown. when converting from binary no restrictions are applied to the bytes. May contain invalid UTF-8 and/or zero-bytes. | Y |
properties | user-id | binary | message property | user id | short-string | if conversion to AMQShortString fails the field is not set | Y |
properties | reply-to | string | message property | reply to | short-string | if conversion to AMQShortString fails the MCE is thrown if global address (starts with '/'), the MCE is thrown | Y |
properties | creation-time | timestamp /ulong | message property | timestamp | long | if creation-time is not set arrival time will be used | Y |
properties | subject | string | message property | headers['qpid.subject'] | long-string |
| Y |
properties | subject | string | message property | type | short-string | MCE is thrown on subject length > 255 | Y |
properties | subject | string | publish property | routing-key | short-string | MCE is thrown on subject length > 255 | Y |
properties | group-id | string | message property | headers['JMSXGroupID'] | long-string | specified in JMS bindmap | Y |
properties | group-sequence | sequence number | message property | headers['JMSXGroupSeq'] | int | specified in JMS bindmap | Y |
properties | to | string | basic.publish | exchange, routingKey | short string | if 'to' starts with "/" throw MCE Throw MCE if exchange or routingKey conversion to AMQShortString fails | Y |
application-properties | * | * | message property | headers | field-table | If conversion fails a MCE is thrown | Y |
...
AMQP 1-0 message | AMQP 0-10 message | Implemented
| |||||||
---|---|---|---|---|---|---|---|---|---|
Section name | Property name | Type | Property segment | Property name | type | Comments | |||
header | durable | boolean | delivery-properties | delivery-mode | uint8 |
| Y | ||
header | priority | unsigned byte | delivery-properties | priority | uint8 |
| Y | ||
header/properties | ttl /absolute-expiry-time | milliseconds/ulong | delivery-properties | ttl | uint64 |
| Y | ||
header/properties | content-type | symbol | messagettl /absolute-expiry-time | milliseconds/ulong | delivery-properties | content-typeexpiration | str8datetime | Y | |
properties | content-encodingtype | symbol | message-properties | content-encodingtype | str8 |
| YTODO | ||
properties | messagecontent-idencoding | binarysymbol | message-propertiesmessage | content-idencoding | uuid | str8 | Throw MCE if conversion to str8 fails | Y | |
properties | correlationmessage-id | binary, uuid, ulong, string | message-properties | correlationmessage-id | uuid | When converting from string direct conversion to UUID is attempted. If that fails a type 3 UUID is created. When converting from non-UUID a type 3 UUID is created from the source bytes. | Y | ||
properties | correlation-id | binary, uuid, ulong, string | message-properties | correlation-id | vbin16 | Throw MCE if conversion to vbin16 fails | vbin16 |
| Y |
properties | user-id | binary | message-properties | user-id | vbin16 | if conversion to vbin16 fails do not set this field | Y | ||
properties | reply-to | string | message-properties | reply-to | reply-to |
| Throw MCE if conversion of exchange or routingKey to str8 fails | PartialY | |
properties | creation-time | timestamp /ulong | delivery-properties | timestamp | datetime |
| when creation-time is not set, arrival-time is set as a timestamp | YN | |
properties | subject | string | message-properies | headers['qpid.subject'] | str16 | if 'qpid.subject' is already in the application-properties it will not be overridden | Y | ||
properties | subject | string | message-properties | headers[' | ] andx-jms-type'] | str16 | if 'x-jms-type' is already in the application-properties it will not be overridden | Y | |
properties | subject | string | delivery-properties | routing-key | str8 |
| NThrow MCE if conversion to str8 fails | Y | |
properties | group-id | string | message-properies | headers['JMSXGroupID'] | str8 |
| str16 | if 'JMSXGroupId' is already in the application-properties it will not be overridden | YN |
properties | group-sequence | sequence number | message properies | headers['JMSXGroupSeq'] | str8 |
| int | if 'JMSXGroupSeq' is already in the application-properties it will not be overridden | YN |
properties | to | string | delivery-properties | exchange | str8 |
| if 'to' starts with "/" throw MCE Throw MCE if exchange or routingKey conversion to str8 fails | YN | |
properties | to | string | delivery-properties | routing-key | str8 | see above | NY | ||
application-properties | - | map | message-properties | application-headers | map |
| Y | ||
content | deliverymessage-properties | content-length | uint64 |
| Y | ||||
message-annotation | jms-type | string | message-properties | content-type | str8 | TODO | |||
header | delivery-count | delivery-properties | redelivered | N |
Content conversion
Conversion of message content from AMQP 0-8...0-9-1 into AMQP 0-10 and back is simply a matter of copying the content bytes.
...