...
? - used to indicate the type which is currently used to convert
AMQP 0-8
...
..0-9
...
-1 types conversion into AMQP 1
...
-0 types
AMQP 0-9.-1 type | Used in JMS typeClients | AMQP 1.-0 types | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
null | boolean | ubyte | ushort | uint | ulong | byte | short | int | long | float | double | decimal32 | decimal64 | decimal128 | char | timestamp | uuid | binary | string | symbol | list | map | array | ||
short-string | -yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
long-string | Stringyes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
field-array | -no *** |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
field-table | -yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
float | floatyes |
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
double | doubleyes |
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
void | nullyes | X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boolean | booleanyes |
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
byte (short-short-int) | byteyes |
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
short (short-int) | shortyes |
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
integer (long-int) | intyes |
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
long (long-long-int) | longyes |
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
unsigned byte (short-short-uint) - | no |
|
| X |
|
|
| ? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
unsigned short (short-uint) - | no |
|
|
| X |
|
|
| ? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
unsigned integer (long-uint) - | no |
|
|
|
| X |
|
|
| ? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
unsigned long (long-long-unit) - | no |
|
|
|
|
| X |
|
|
| ? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
timestamp - | no **** |
|
|
|
|
|
|
|
|
| ? |
|
|
|
|
|
| X |
|
|
|
|
|
|
|
decimal (decimal-value) | no ***** |
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
binary * | byte[]yes ** |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
ascii string * | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
wide string * | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
ascii character * | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
* - types are not defined in 0-98...1/0-9/0-8 1 specifications
** - can be used as a Binary type is used to encode byte[] in Map message value. JMS does not allow using byte[] in values for message properties but Qpid Jms implementation allows setting byte[] as property values.
*** Implementation of Message#setObjectProperty(String,Object) allows to pass objects of types java.util.Map and java.util.List which would be encoded using FieldTable and FiledArray accordingly.
**** Timestamp type is used for specifying message timestamp as part of message properties. Values of type "java.util.Date" are not allowed to be used into Message#setObjectProperty(String,Object) where they are encoded as timestamps
***** Decimal types is used to encoded java.math.BigDecimal in Message#setObjectProperty(String,Object)
AMQP 0-8
...
..0-9.
...
1 types conversion into AMQP 0-10 types
AMQP 0-9.1 type | Used in JMS typeClients | AMQP 0-10 types | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
void | boolean | char | int8 | int16 | int32 | int64 | float | double | map | list | uuid | str16 | vbin32 | datetime | dec32 | dec64 | uint8 | uint16 | uint32 | uint64 | ||
short-string | -yes |
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
| |
long-string | Stringyes |
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
| |
field-array | -no *** |
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
| |
field-table | -yes |
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
| |
float | floatyes |
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
| |
double | doubleyes |
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
| |
void | nullyes | X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
boolean | booleanyes |
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
byte (short-short-int) | byteyes |
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
short (short-int) | shortyes |
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
integer (long-int) | integeryes |
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
long (long-long-int) | longyes |
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
| |
unsigned byte(short-short-uint) - | no |
|
|
| ? |
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
| |
unsigned short (short-uint) - | no |
|
|
|
| ? |
|
|
|
|
|
|
|
|
|
|
|
|
| X |
| |
unsigned integer (long-uint) - | no |
|
|
|
|
| ? |
|
|
|
|
|
|
|
|
|
|
|
|
| X | |
unsigned long (long-long-unit) | -no |
|
|
|
|
|
| ? |
|
|
|
|
|
|
|
|
|
|
|
|
| X |
timestamp - | no **** |
|
|
|
|
|
| ? |
|
|
|
|
|
|
| X |
|
|
|
|
| |
decimal (decimal-value) - | no ***** |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
| |
binary * | byte[]yes ** |
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
| |
ascii string * | -no |
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
| |
wide string * | -no |
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
| |
ascii character * | -no |
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* - types are not defined in 0-9.1/0-9/0-8 specifications
** - Binary type is used to encode byte[] can be used as a in Map message value. JMS does not allow using in values for message propertiesallow using byte[] in values for message properties but Qpid Jms implementation allows setting byte[] as property values.
*** Implementation of Message#setObjectProperty(String,Object) allows to pass objects of types java.util.Map and java.util.List which would be encoded using FieldTable and FiledArray accordingly.
**** Timestamp type is used for specifying message timestamp as part of message properties. Values of type "java.util.Date" are not allowed to be used into Message#setObjectProperty(String,Object) where they are encoded as timestamps
***** Decimal types is used to encoded java.math.BigDecimal in Message#setObjectProperty(String,Object)
AMQP 0-10 types conversion into AMQP 0-8/0-9.x
0-10 defines the following mandatory types: uint8, uint16, uint32, sequence-no, uint64, datetime, uuid, vbin8, str8, vbin16, str16, byte-ranges, sequence-set, vbin32,map, array, struct32, bit.
AMQP 0-10 type
| Used in JMS TypeClients | AMQP 0-9.1 types | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
short-string | long-string | timestamp | field-array | field-table | float | double | decimal | void | boolean | byte | unsigned byte | short | unsigned short | int | unsigned int | long | unsigned long | binary | ascii str | wide str | ascii char | ||
bin8 | -no |
|
|
|
|
|
|
|
|
|
|
|
| ? |
|
|
|
|
| X |
|
|
|
int8 | byteyes |
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
uint8 | -no |
|
|
|
|
|
|
|
|
|
|
| X | ? |
|
|
|
|
|
|
|
|
|
char | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
boolean | booleanyes |
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
bin16 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
| ? |
|
|
| X |
|
|
|
int16 | shortyes |
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
uint16 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
| X | ? |
|
|
|
|
|
|
|
bin32 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ? |
| X |
|
|
|
int32 | intyes |
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
uint32 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X | ? |
|
|
|
|
|
float | floatyes |
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char-utf32 | -no |
| X*** |
|
|
|
|
|
|
|
|
|
|
|
| ? |
|
|
|
|
|
| |
sequence-no | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
bin64 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ? |
| X |
|
|
|
int64 | longyes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
uint64 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ? | X |
|
|
|
|
double | doubleyes |
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
datetime | -no |
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
| ? |
|
|
|
|
|
bin128 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
uuid ** | - | X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bin256 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
bin512 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
bin1024 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
bin40 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
dec32 | -no |
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
| ? |
|
|
|
bin72 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
dec64 | -no |
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
| X |
|
|
|
void | nullyes |
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
bit | -no |
|
|
|
|
|
|
|
|
| X |
|
|
|
|
|
|
|
| ? |
|
|
|
vbin8 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
str8-latin | -no | X | ? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
str8 | -no |
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
str8-utf16 | -no |
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vbin16 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
str16-latin | -no |
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
str16 | -no |
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
str16-utf16 | Stringyes |
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
byte-ranges | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
sequence-se | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
vbin32 | byte[] yes **** |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
map | -yes ***** |
|
|
|
| X* |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
list | -yes ***** |
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
array | -no |
|
|
| X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct32 | -no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| X |
|
|
|
...