Versions Compared

Key

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

...

? - 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 typeClientsAMQP 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 TypeClientsAMQP 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

 

 

 

...