...
AMQP 0-8...0-9-1 message | AMQP 1-0 message | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Property origin | Property name | type | Section name | Property name | Type | Comments | Implemented | |||||||||
message property | delivery mode | octet | header | durable | boolean | true when 'delivery mode'=2, otherwise false | Y | |||||||||
message property | priority | octet | header | priority | unsigned byte |
| Y | |||||||||
message property | expiration | short-string | header | ttl | milliseconds | expiration - 'arrival-time' | Y | message property | expiration | short-string | properties | ; absolute-expiry-time | timestamp |
| is not used. see QPID-7872 | Y |
message property | content type | short-string | properties | content-type | symbol | value '"application/java-object-stream' changed to 'application/x-java-serialized-object' | Y | |||||||||
message property | encoding | short-string | properties | content-encoding | symbol |
| Y | |||||||||
message property | message id | short-string | properties | message-id | string | used to convert to binary in AMQP 1.0 | Y | |||||||||
message property | correlation id | short-string | properties | correlation-id | string | used to convert to binary in AMQP 1.0 | Y | |||||||||
message property | user id | short-string | properties | user-id | binary |
| Y | |||||||||
message property | reply to | short-string | properties | reply-to | string | if binding url the value is changed to <exchange name>/<routing key> or <exchange_name>/<queue_name> or <exchange_name> or <queue name> or <routing key> depending on whether <exchange name>, <routing key> or <queue name> is specified. Original value if not a valid BURL. No address support. | Y | |||||||||
message property | timestamp | timestamp | properties | creation-time | timestamp |
| Y | |||||||||
message property | type | short-string | properties | subject | string | See JMS bindmap spec. setting "qpid.subject" in the message properties takes precedence over this. | Y | |||||||||
message property | application id | short-string |
|
|
|
| N | |||||||||
message property | cluster id | short-string |
|
|
|
| N | |||||||||
message property | headers | field-table | application-properties | * | every entry except for 'qpid.subject' is put into application-properties as separate property. | Y | ||||||||||
message property 'headers' | qpid.subject | short-string | properties | subject | string | This takes precedence over the message property "type". | Y | |||||||||
message property 'headers' | JMSXGroupID | short-string | properties | group-id | string | see JMS bindmap | Y | |||||||||
message property 'headers' | JMSXGroupSeq | int | properties | group-sequence | sequence number | see JMS bindmap | Y | |||||||||
message delivery count | int | header | delivery-count | uint | dynamically set on sending | Y | ||||||||||
message delivery count | int | header | first-acquirer | boolean |
| N | ||||||||||
basic.publish | routing-key | short-string | properties | to | string | "to" property should be set to <exchange>/<routing-key> | Y | |||||||||
basic.publish | exchange | short-string | properties | to | string | "to" property should be set to <exchange>/<routing-key> | Y | |||||||||
basic.publish | mandatory | bit | N | |||||||||||||
basic.publish | immediate | bit | N | |||||||||||||
message property | content-type | short-string | message-annotations | x-opt-jms-msg-typ | string | N |
...
AMQP 0-8...0-9-1 message | AMQP 0-10 message | Implemented | |||||
---|---|---|---|---|---|---|---|
Property origin | Property name | type | Header entry | Property name | Type | Comments | |
message property | delivery mode | octet | delivery-properties | delivery-mode | uint8 |
| Y |
message property | priority | octet | delivery-properties | priority | uint8 |
| Y |
message property | expiration | short-string | delivery-properties | expiration | datetime | this is currently modeled as a long | Y |
message property | expiration | short-string | delivery-properties | ttl | uint64 | expiration - 'arrival-time' | Y |
message property | timestamp | long | delivery-properties | timestamp | datetime | this is currently modeled as a long | Y |
message property | content type | short-string | message-properties | content-type | str8 |
| Y |
message property | encoding | short-string | message-properties | content-encoding | str8 |
| Y |
message property | message id | short-string | message-properties | message-id | uuid | removes 'ID:', if value cannot be converted into uuida new uuid MessageConversionException is thrown. Is it correct?is generated from the existing messageId | Y |
message property | correlation id | short-string | message-properties | correlation-id | vbin16 |
| Y |
message property | user id | short-string | message-properties | user-id | vbin16 |
| Y |
message property | reply to | short-string | message-properties | reply-to | reply-to |
| Y |
message property | application id | short-string | message-properties | app-id | vbin16 |
| Y |
message property | headers | field-table | message-properties | application-headers | map |
| Y |
message property | type | short-string | message-properties | application-headers['x-jms-type'] | str16 |
| Y |
message content | long | message-properties | content-length | uint64 |
| Y | |
entry delivery count | int | delivery-properties | redelivered | bit | dynamically set on sending |
| |
basic.publish | routing-key | short-string | delivery-properties | routing-key | str8 |
| Y |
basic.publish | exchange | short-string | delivery-properties | exchange | str8 |
| Y |
basic.publish | immediate | bit | delivery-properties | immediate | bit |
| Y |
basic.publish | mandatory | bit | delivery-properties | discard-unroutable | bit |
| Y |
...
AMQP 0-10 message | AMQP 1-0 message | Implemented
| ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Property origin | Property name | Type | Section name | Property name | Type | Comments | ||||
delivery-properties | delivery-mode | uint8 | header | durable | unsigned byte |
| Y | |||
delivery-properties | priority | uint8 | header | priority | unsigned byte |
| Y | |||
delivery-properties | ttl | uint64 | header | ttl | milliseconds | the 'ttl' delivery-property takes precedence over 'expiration' | Y | |||
delivery-properties | expiration | datetime | header | ttl | milliseconds | the 'ttl' delivery-property takes precedence over 'expiration'; 'absolute-expiry-time | timestamp |
| ' is not used. see QPID-7872 | Y |
delivery-properties | timestamp | datetime | properties | creation-time | timestamp |
| Y | |||
delivery-properties | redelivered | bit | header | first-acquirer | boolean |
| N | |||
delivery-properties | routing-key | str8 | properties | to | string |
| Y | |||
delivery-properties | exchange | str8 | properties | to | string |
| Y | |||
delivery-properties | immediate | bit |
|
|
|
|
| |||
delivery-properties | discard-unroutable | bit |
|
| ||||||
message-properties | content-type | str8 | properties | content-type | symbol | "application/java-object-stream" replaced with "application/x-java-serialized-object" | Y | |||
message-properties | content-encoding | str8 | properties | content-encoding | symbol |
| Y | |||
message-properties | message-id | uuid | properties | message-id | uuid |
| Y | |||
message-properties | correlation-id | vbin16 | properties | correlation-id | binary |
| Y | |||
message-properties | user-id | vbin16 | properties | user-id | binary |
| Y | |||
message-properties | reply-to | reply-to | properties | reply-to | string |
| Y | |||
message-properties | app-id | vbin16 |
|
|
|
|
| |||
message-properties | application-headers | map | application-properties | * | MessageConversionException is thrown when string or key is invalid | Y | ||||
message-properties | content-length | uint64 |
|
|
|
|
| |||
message-properies headers | qpid.subject | str8 | properties | subject | string |
| Y | |||
message properies headers | JMSXGroupID | str8 | properties | group-id | string |
| Y | |||
message properties headers | JMSXGroupSeq | int | properties | group-sequence | sequence number |
| Y | |||
message-properties | content-type | str8 | message-annotation | x-opt-jms-msg-type | string | N | ||||
message-properties | application-headers['x-jms-type'] | str16 | properties | subject | string | Y |
...
AMQP 0-10 message | AMQP 0-9 message | Implemented
| |||||||
---|---|---|---|---|---|---|---|---|---|
Property origin | Property name | Type | Section name | Property name | Type | Comments | |||
delivery-properties | delivery-mode | uint8 | message property | delivery mode | octet |
| Y | ||
delivery-properties | priority | uint8 | message property | priority | octet |
| Y | ||
delivery-properties | ttl | uint64 | message property | expiration | short-string | the 'ttl' delivery-property takes precedence over 'expiration' | Y | ||
delivery-properties | expiration | datetime | message property | expiration | short-string | the 'ttl' delivery-property takes precedence over 'expiration' | Y | ||
delivery-properties | timestamp | datetime | message property | timestamp | long | N | Y | ||
delivery-properties | redelivered | bit | |||||||
delivery-properties | routing-key | str8 | basic.publish | routing-key | short-string | Y | |||
delivery-properties | exchange | str8 | basic.publish | exchange | short-string | Y | |||
delivery-properties | immediate | bit | basic.publish | immediate | bit |
| Y | ||
delivery-properties | discard-unroutable | bit | basic.publish | mandatory | bit | Y | |||
message-properties | content-type | str8 | message property | content type | short-string |
| Y | ||
message-properties | content-encoding | str8 | message property | encoding | short-string |
| Y | ||
message-properties | message-id | uuid | message property | message id | short-string |
| Y | ||
message-properties | correlation-id | vbin16 | message property | correlation id | short-string |
| Y | ||
message-properties | user-id | vbin16 | message property | user id | short-string |
| Y | ||
message-properties | reply-to | reply-to | message property | reply to | short-string |
| Y | ||
message-properties | app-id | vbin16 | message property | application-id | short-string |
| if conversion to AMQShortString fails the field is not set | YN | |
message-properties | application-headers | map | message property | headers | field-table |
| Y | ||
message-properties | content-length | uint64 |
|
|
|
|
| ||
message-properties | application-headers['x-jms-type'] | str16 | message property | type | short string | throw exception MessageConversionException if it does not fit into short string | ?Y |
AMQP 1-0 message properties conversion into AMQP 0-8...0-9-1 message properties
...
The approaches above can be configured on broker or virtual host using context variables.
Closing the connections should be a default behaviour.