...
AMQP 1.0 message | internal message | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Section name | Property name | Type | Property class | Property name | type | Comments | Implemented | ||||||||
header | durable | boolean | InternalMessage InternalMessageMetaData | isPersistent() isPersistent() | boolean boolean |
| Y Y | ||||||||
header | priority | unsigned byte | MessageHeader | getPriority() | byte |
| Y | ||||||||
header/properties | ttl /absolute-expiry-time | milliseconds/ulong | MessageHeader | getExpiration() | longCurrently 'absolute-expiry-time' is used but we should change this to 'ttl' (see QPID-7872) | Y | |||||||||
properties | content-type | symbol | MessageHeader | getMimeType() | String |
| TODOY | ||||||||
properties | content-encoding | symbol | MessageHeader | getEncoding() | String | Y | |||||||||
properties | message-id | binary, uuid, ulong, string | MessageHeader | getMessageId() | String | toString() is used for the conversion | Y | ||||||||
properties | correlation-id | binary, uuid, ulong, string | MessageHeader | getCorrelationId() | String | toString() is used for the conversion | Y | ||||||||
properties | user-id | binary | MessageHeader | getUserId() | String | expects 'user-id' to contain UTF-8 bytes. results in mojibake otherwise. | Y | ||||||||
properties | reply-to | string | MessageHeader | getReplyTo() | String | Y | |||||||||
properties | creation-time | timestamp /ulong | MessageHeader | getTimestamp() | long | when creation-time is not set, arrival-time should be set as a timestampis used | YPartial | ||||||||
properties | subject | string | MessageHeader | HeaderMap['qpid.subject']String | should this be done? | N | properties | subject | string | InternalMessage | getInitialRoutingAddress() | String | related: QPID-7868 | N | |
properties | group-id | string |
|
| N | ||||||||||
properties | group-sequence | sequence number |
|
| N | ||||||||||
properties | to | string | InternalMessage | getTo() | String | | Y | ||||||||
application-properties | - | map | MessageHeader | HeaderMap | Map |
| Y | ||||||||
header | delivery-count | MessageHeader | redelivered | N |
...
Internal message | AMQP 1.0 message | Implemented
| |||||
---|---|---|---|---|---|---|---|
Property origin | Property name | Type | Section name | Property name | Type | Comments | |
InternalMessage InternalMessageMetaData | isPersistent() isPersistent() | boolean | header | durable | unsigned byte |
| Y |
MessageHeader | getPriority() | byte | header | priority | unsigned byte |
| Y |
MessageHeader | getExpiration() | long | header | ttl | milliseconds |
| Y |
MessageHeader | getExpiration() | long | properties | absolute-expiry-time | timestamp | N | |
MessageHeader | getMessageId() | String | properties | message-id | uuid/string/ulong |
| Y |
MessageHeader | getCorrelationId() | String | properties | correlation-id | binary |
| Y |
MessageHeader | getUserId() | String | properties | user-id | binary |
| Y |
MessageHeader | getTimestamp() | datetime | properties | creation-time | timestamp |
| Y |
MessageHeader | getReplyTo() | String | properties | reply-to | string |
| Y |
InternalMessage | getTo() | String | properties | to | string |
| TODOY |
InternalMessage | getEncoding() | String | properties | content-encoding | symbol |
| Y |
MessageHeader | getContentType() | str8 | properties | content-type | symbol |
| TODOY |
properties | subject | string | N | ||||
MessageHeader | getHeader(String)/getHeaderNames() | String/Enumeration | application-properties | * | MessageConversionException is thrown when string or key is invalid | Y |
...
Internal message | AMQP 0-8...0-9-1 message | Implemented
| |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Property origin | Property name | Type | Section name | Property name | Type | Comments | |||||||||||||||
InternalMessage InternalMessageMetaData | isPersistent() isPersistent() | boolean | message property | delivery mode | unsigned byte |
| Y | ||||||||||||||
MessageHeader | getPriority() | byte | message property | priority | unsigned byte |
| Y | ||||||||||||||
MessageHeader | getExpiration() | long | message property | expiration | short-string | Y | |||||||||||||||
MessageHeader | getMessageId() | String | message property | message-id | short-string | if conversion to short-string fails 'message-id' is not set | Y | ||||||||||||||
MessageHeader | getCorrelationId() | String | message property | correlation-id | short-string | MessageConversionException is thrown when conversion to short-string fails | Y | ||||||||||||||
MessageHeader | getUserId() | String | message property | user-id | short-string | if conversion to short-string fails 'user-id' is not set | Y | ||||||||||||||
MessageHeader | getTimestamp() | datetime | message property | timestamp | long |
| Y | ||||||||||||||
MessageHeader | getReplyTo() | String | message property | reply-to | short-string | See section "Address Conversion" then convert to BURL. MessageConversionException is thrown when conversion to short-string fails | Y | InternalMessage | getTo() | String | message property | to | string | ||||||||
TODO | InternalMessage | getEncoding() | String | message property | encoding | short-string | MessageConversionException is thrown when conversion to short-string fails | Y | |||||||||||||
MessageHeader | getMimeType() | String | message property | content-type | short-string |
| TODOY | ||||||||||||||
MessageHeader | getContentTypegetHeader(String)/getHeaderNames() | String/Enumeration | message propertycontent-type | headers | shortfield-string |
| TODO | ||||||||||||||
message property | subject | string | N | ||||||||||||||||||
MessageHeader | getHeader(String)/getHeaderNames() | String/Enumeration | message property | headers | field-table | MessageConversionException is thrown when key or value is invalid | Y | ||||||||||||||
table | MessageConversionException is thrown when key or value is invalid | Y | |||||||||||||||||||
InternalMessage | getTo() / getInitialRoutingAddress() | basic.publish | exchange, | basic.publish | routing-key | short-string | TODO | basic.publish | exchange | short-string | If getTo() is null or the empty string getInitialRoutingAddress() is used instead. Throw MessageConversionException if conversion to short-string fails. | YTODO | |||||||||
basic.publish | immediate | bit | always set to false | N | |||||||||||||||||
basic.publish | mandatory | bit | always set to false | N |
AMQP 0-10 message properties conversion into internal message properties
AMQP 0-10 message | Internal message | Implemented
| |||||
---|---|---|---|---|---|---|---|
Property origin | Property name | Type | Class name | Property name | Type | Comments | |
delivery-properties | delivery-mode | uint8 | InternalMessage InternalMessageMetaData | isPersistent() | boolean |
| Y |
delivery-properties | priority | uint8 | MessageHeader | getPriority() | byte |
| Y |
delivery-properties | ttl | uint64 | MessageHeader | getExpiration() | long | the 'ttl' delivery-property takes precedence over 'expiration' | Y |
delivery-properties | expiration | datetime | MessageHeader | getExpiration() | long | the 'ttl' delivery-property takes precedence over 'expiration' | Y |
delivery-properties | timestamp | datetime | MessageHeader | getTimestamp() | long | if not set, the arrival time is used as timestamp | Y |
delivery-properties | redelivered | bit | N | ||||
delivery-properties | routing-key | str8 | InternalMessage | getInitialRoutingAddress() | String | TODOY | |
delivery-properties | exchange | str8 | InternalMessage | getTo() | String | TODOY | |
delivery-properties | immediate | bit |
|
| N | ||
delivery-properties | discard-unroutable | bit |
| N | |||
message-properties | content-type | str8 | InternalMessage | getContentTypegetMimeType() | String |
| TODOY |
message-properties | content-encoding | str8 | MessageHeader | getEncoding() | string |
| Y |
message-properties | message-id | uuid | MessageHeader | getMessageId() | String |
| Y |
message-properties | correlation-id | vbin16 | MessageHeader | getCorrelationId() | String |
| Y |
message-properties | user-id | vbin16 | MessageHeader | getUserId() | String |
| Y |
message-properties | reply-to | reply-to | MessageHeader | getReplyTo() | String | <exchange name>/<routing key> | TODOY |
message-properties | app-id | vbin16 | MessageHeader | getAppId() | String |
| Y |
message-properties | application-headers | map | MessageHeader | getHeadersMap() | Map<String,Object> |
| Y |
message-properties | content-length | uint64 |
|
|
|
|
|
message-properties | application-headers['x-jms-type'] | str16 | MessageHeader | getType() | String | 'x-jms-type' is not removed from application headers | Y |
...
Internal message | AMQP 0-10 message | Implemented
| |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Property origin | Property name | Type | Segment name | Property name | Type | Comments | |||||||||
InternalMessage InternalMessageMetaData | isPersistent() isPersistent() | boolean | delivery-properties | delivery-mode | uint8 |
| Y | ||||||||
MessageHeader | getPriority() | byte | delivery-properties | priority | uint8 |
| Y | ||||||||
MessageHeader | getExpiration() | long | delivery-properties | ttl | uint64 | getExpiration() - arrivalTime | Y | ||||||||
MessageHeader | getExpiration() | long | delivery-properties | expiration | datetime | Y | |||||||||
MessageHeader | getMessageId() | String | message-properties | message-id | uuid | if conversion to uuid fails 'message-id' is not set | Y | ||||||||
MessageHeader | getCorrelationId() | String | message-properties | correlation-id | vbin16 | MessageConversionException is thrown when conversion to vbin16 fails | Y | ||||||||
MessageHeader | getUserId() | String | message-properties | user-id | vbin16 | if conversion to vbin16 fails 'user-id' is not set | Y | ||||||||
MessageHeader | getTimestamp() | datetime | delivery-properties | timestamp | datetime | if timestamp is not set arrivalTime will be used as timestamp | Y | ||||||||
MessageHeader | getReplyTo() | String | message-properties | reply-to | reply-to | See section "Address Conversion" MessageConversionException is MessageConversionException should be thrown when conversion to str8 fails. | TODOY | ||||||||
InternalMessage | getTo()/getInitialRoutingKey() | String | delivery-properties |
|
| exchange, routing-key | str8 | If getTo() is null or the empty string getInitialRoutingAddress() is used instead. MessageConversionException is thrown when conversion to str8 fails. | YTODO | ||||||
InternalMessage | getEncoding() | String | message-properties | content-encoding | str8 | MessageConversionException is thrown when conversion to str8 fails | Y | ||||||||
MessageHeader | getMimeType() | String | message-properties | content-type | str8 |
| TODOT | ||||||||
MessageHeader | getContentType() | String | message-properties | content-type | str8 |
| TODO | MessageHeader | getHeader(String)/getHeaderNames() | String/Enumeration | message-properties | application-headers | map | MessageConversionException is thrown when key or value is invalid | Y |
InternalMessage | message-properties | content-length | uint64 | Y | |||||||||||
delivery-properties | routing-key | str8 | TODO | ||||||||||||
delivery-properties | exchange | str8 | TODO | ||||||||||||
delivery-properties | immediate | bit | N | ||||||||||||
delivery-properties | discard-unroutable | bit | N |
...