Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

AMQP 0-9-1 type

Used in JMS ClientsClientAMQP 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

yes

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

field-array

no ***

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

field-table

yes

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

float

yes

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

double

yes

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

void

yes

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

boolean

yes

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

byte (short-short-int)

yes

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

short (short-int)

yes

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

integer (long-int)

yes

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

long (long-long-int)

yes

 

 

 

 

 

 

 

 

 

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 *

yes **

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

ascii string *

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

wide string  *

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

ascii character *

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

...

AMQP 0-9.1 type

Used in JMS ClientsClient

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

yes

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

field-array

no ***

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

field-table

yes

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

float

yes

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

double

yes

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

void

yes

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

boolean

yes

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

byte (short-short-int)

yes

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

short (short-int)

yes

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

integer (long-int)

yes

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

long (long-long-int)

yes

 

 

 

 

 

 

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 *

yes **

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

ascii string *

no

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

wide string *

no

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

ascii character *

no

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

*****  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

...

-1

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 ClientsAMQP 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

yes

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

uint8

no

 

 

 

 

 

 

 

 

 

 

 

      X

?

 

 

 

 

 

 

 

 

 

char

no ******

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

boolean

yes

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

bin16

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

 

 

 

   X

 

 

 

int16

yes

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

uint16

no

 

 

 

 

 

 

 

 

 

 

 

 

 

   X

?

 

 

 

 

 

 

 

bin32

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

 

   X

 

 

 

int32

yes

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

uint32

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    X

?

 

 

 

 

 

float

yes

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

char-utf32

no

 

 X***

 

 

 

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

 

 

sequence-no

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   X

 

 

 

bin64

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

 

   X

 

 

 

int64

yes

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

uint64

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

    X

 

 

 

 

double

yes

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

datetime

no

 

 

    X

 

 

 

 

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

bin128

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 X

 

 

 

uuid **

-no ******

    X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bin256

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

bin512

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

bin1024

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

bin40

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

dec32

no

 

 

 

 

 

 

 

    X

 

 

 

 

 

 

 

 

 

 

?

 

 

 

bin72

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

dec64

no

 

 

 

 

 

 

 

   

 

 

 

 

 

 

 

 

 

 

X

 

 

 

void

yes

 

 

 

 

 

 

 

 

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

yes

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

byte-ranges

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

sequence-se

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

vbin32

yes ****

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

map

yes no *****

 

 

 

 

X*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

list

yes no *****

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

array

no

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

struct32

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   X

 

 

 

* -   the type of keys in AMQP 0-10 map is utf8 encoded str8 whilst earlier protocols's FiledTable key type is short-string which allows only ASCII characters. Thus, conversion of UTF characters into ASCII characters would change the keys.

** - UUID type is unsupported by AMQP 0-8/0-9.x. An exception is thrown on attempt to convert. Should it be converted into short string?

*** - there is no corresponding type in AMQP 0-8..0-9.x. Thus, the most appropriate type for conversion UTF32 char is long-string.

**** - byte[] can be used as a Map message value. JMS does not allow using in values for message properties

***** Qpid Client JMS extensions like ListMessage and MapMesssage allows specifying instances of java.util.Collection in parts of the messages. As result, the corresponding collections are encoded as AMQP 0-10

...

maps and lists.

****** Instances of java.util.UUID and java.lang.Character can be specified as part of  ListMessage. They are encoded into AMQP 0-10 types "uui" and "char"  (one byte) accordingly.

****** Values of type java.lang.Character are allowed to be set in Message#setObjectProperty(String,Object). They are encoded using type AMQP 0-10 type "char" (one byte).

AMQP 0-10 types conversion into AMQP 1.0 types

AMQP 0-10 type

Used in JMS Client

AMQP 0-10 type

JMS Type

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

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

-no ******

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

-yes

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

-no ******

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

list

-no ******

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

array

-no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

struct32

-no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 X

 

 

 

 

 

**** byte[] can be used as a Map message value. JMS does not allow using in values for message properties

***** Qpid Client JMS extensions like ListMessage and MapMesssage allows specifying instances of java.util.Collection in parts of the messages. As result, the corresponding collections are encoded as AMQP 0-10 maps and lists.

****** Instances of java.util.UUID and java.lang.Character can be specified as part of  ListMessage. They are encoded into AMQP 0-10 types "uui" and "char"  (one byte) accordingly.

****** Values of type java.lang.Character are allowed to be set in Message#setObjectProperty(String,Object). They are encoded using type AMQP 0-10 type "char" (one byte).

AMQP 1-0 types conversion into  AMQP 0-8/0-9.x

...