You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Qpid Broker-J supports message conversion from one protocol into another. For example, when message is published with AMQP 0-9-1 and consumed using AMQP 1.0, the Broker takes care about converting the message from AMQP 0-9-1 format into AMQP 1.0. This page provides summary of how conversion from one protocol into another works.

Type conversion matrices

Various types can be used to set values of message properties and values in Map, List messages. The matrices below show how the types are converted. The red colour is used to highlight the types where conversion is unsupported yet. The orange/yellow colours are used to highlight the types for which conversion is implemented but the target type does not correspond to the original one even when protocol supports such type. The green colour is used to highlight the types where conversion is implemented into correct corresponding type on another protocol.

X - used to indicate the corresponding type to convert to

? - used to indicate the type which is currently used to convert

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

AMQP 0-9.1 type

JMS typeAMQP 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

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

long-string

String

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

field-array

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

field-table

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

float

float

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

double

double

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

void

null

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

boolean

boolean

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

byte (short-short-int)

byte

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

short (short-int)

short

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

integer (long-int)

int

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

long (long-long-int)

long

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

unsigned byte (short-short-uint)

-

 

 

   X

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

unsigned short (short-uint)

-

 

 

 

   X

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

unsigned integer (long-uint)

-

 

 

 

 

  X

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

unsigned long (long-long-unit)

-

 

 

 

 

 

   X

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

timestamp

-

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

 

    X

 

 

 

 

 

 

 

decimal (decimal-value)

 

 

 

 

 

 

 

 

 

 

 

 

 

    X

 

 

 

 

 

 

 

 

 

 

 

binary *

byte[]**

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

ascii string *

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

wide string  *

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

ascii character *

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

* - types are not defined in 0-9.1/0-9/0-8 specifications

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

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

AMQP 0-9.1 type

JMS type

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

-

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

long-string

String

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

field-array

-

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

field-table

-

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

float

float

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

double

double

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

void

null

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

boolean

boolean

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

byte (short-short-int)

byte

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

short (short-int)

short

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

integer (long-int)

integer

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

long (long-long-int)

long

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

unsigned byte(short-short-uint)

-

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

   X

 

 

 

unsigned short (short-uint)

-

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

  

    X

 

 

unsigned integer (long-uint)

-

 

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

   X

 

unsigned long (long-long-unit)

-

 

 

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

  

  X

timestamp

-

 

 

 

 

 

 

?

 

 

 

 

 

 

 

     X

 

 

 

 

 

 

decimal (decimal-value)

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  X

 

 

 

 

 

binary *

byte[]**

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

ascii string *

-

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

wide string *

-

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

ascii character *

-

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* - types are not defined in 0-9.1/0-9/0-8 specifications

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

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

 

JMS TypeAMQP 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

-

 

 

 

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

    X

 

 

 

int8

byte

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

uint8

-

 

 

 

 

 

 

 

 

 

 

 

      X

?

 

 

 

 

 

 

 

 

 

char

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

boolean

boolean

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

bin16

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

 

 

 

   X

 

 

 

int16

short

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

uint16

-

 

 

 

 

 

 

 

 

 

 

 

 

 

   X

?

 

 

 

 

 

 

 

bin32

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

 

   X

 

 

 

int32

int

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

uint32

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    X

?

 

 

 

 

 

float

float

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

char-utf32

-

 

 X***

 

 

 

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

 

 

sequence-no

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   X

 

 

 

bin64

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

 

   X

 

 

 

int64

long

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

uint64

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

    X

 

 

 

 

double

double

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

datetime

-

 

 

    X

 

 

 

 

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

bin128

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 X

 

 

 

uuid **

-

    X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bin256

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

bin512

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

bin1024

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

bin40

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

dec32

-

 

 

 

 

 

 

 

    X

 

 

 

 

 

 

 

 

 

 

?

 

 

 

bin72

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

dec64

-

 

 

 

 

 

 

 

   

 

 

 

 

 

 

 

 

 

 

X

 

 

 

void

null

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

bit

-

 

 

 

 

 

 

 

 

 

 X

 

 

 

 

 

 

 

 

?

 

 

 

vbin8

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

str8-latin

-

 X

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

str8

-

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

str8-utf16

-

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

vbin16

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

str16-latin

-

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

str16

-

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

str16-utf16

String

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

byte-ranges

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

sequence-se

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

vbin32

byte[] ****

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

map

-

 

 

 

 

X*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

list

-

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

array

-

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

struct32

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   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

AMQP 0-10 types conversion into AMQP 1.0 types

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

-

 

 

 

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

int8

byte

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

uint8

-

 

 

X

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

char

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

boolean

boolean

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bin16

-

 

 

 

 

 

 

 

 

?

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

int16

short

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

uint16

-

 

 

 

X

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bin32

-

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

 

 

 

X

 

 

 

 

 

int32

int

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

uint32

-

 

 

 

 

X

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

float

float

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

char-utf32

-

 

 

 

 

 

 

 

 

?

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

sequence-no

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

bin64

-

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

 

 

 

X

 

 

 

 

 

int64

long

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

uint64

-

 

 

 

 

 

X

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

double

double

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

datetime

-

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

 

X

 

 

 

 

 

 

 

bin128

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

uuid

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

bin256

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

bin512

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

bin1024

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

bin40

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

dec32

-

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

?

 

 

 

 

 

bin72

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

dec64

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 X

 

 

 

 

?

 

 

 

 

 

void

null

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bit

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

vbin8

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

str8-latin

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

str8

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

str8-utf16

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

vbin16

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

str16-latin

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

str16

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

str16-utf16

String

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

byte-ranges

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

sequence-se

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

vbin32

byte[]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

map

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

list

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

array

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

struct32

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 X

 

 

 

 

 

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

AMQP 1-0 type

JMS type

AMQP 0-9.1 types

short-string

long-string

timestamp

field-array

field-table

float

double

decimal

void

boolean

byte

ubyte

short

ushort

int

uint

long

ulong

binary

ascii str

wide str

ascii char

null

null

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

boolean

boolean

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

ubyte

-

 

 

 

 

 

 

 

 

 

 

 

X

?

 

 

 

 

 

 

 

 

 

ushort

-

 

 

 

 

 

 

 

 

 

 

 

 

 

X

?

 

 

 

 

 

 

 

uint

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

?

 

 

 

 

 

ulong

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

X

 

 

 

 

byte

byte

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

short

short

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

int

int

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

long

long

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

float

float

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

double

double

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

decimal32

-

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

decimal64

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

decimal128

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

char

-

 

 X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

? ****

timestamp

-

 

 

 X

 

 

 

 

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

uuid ***

-

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

binary

byte[]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

string

String

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

symbol

-

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

list

-

 

 

 

X**

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

map

-

 

 

 

 

X *

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

array

-

 

 

 

 X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* - 1.0 map allows any type in keys whilst 0-8...0-9-1 FiledTable type only allows short-strings as key type. For string keys with length greater than 256, an exception is thrown on conversion.

** - list in AMQP 1.0 is a sequence of polymorphic values valued FieldArray is not.

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

**** - char in 1-0 is a UTF-32BE encoded unicode character but char in 0-10 is an octet. Should it be converted into string?

AMQP 1-0 types conversion into AMQP 0-10 types

AMQP 1-0 type

JMS type

AMQP 0-10 types

void

boolean

char

char-utf32

int8

int16

int32

int64

float

double

map

list

uuid

str16

vbin32

datetime

dec32

dec64

uint8

uint16

uint32

unit64

null

null

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

boolean

boolean

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ubyte

-

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

ushort

-

 

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

uint

-

 

 

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

ulong

-

 

 

 

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

X

byte

byte

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

short

short

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int

int

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

long

long

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

float

float

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

double

double

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

decimal32

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

decimal64

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

decimal128

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

char

-

 

 

?

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

timestamp

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

?

uuid

-

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

binary

byte[]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

string

String

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

symbol

-

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

list

-

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

map

-

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

array

-

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

Message properties conversion matrices

AMQP 0-8..0-9-1 message properties conversion into AMQP 1-0 message properties

AMQP 0-8..0-9-1 message

AMQP 1-0 message

Implemented

 

Property origin

Property name

Bit

type

Section name

Property name

Type

Comments

message propery

delivery mode

12

unsigned byte

header

durable

boolean

true when 'delivery mode'=2, otherwise false

Y

message propery

priority

11

unsigned byte

header

priority

unsigned byte

 

Y

message propery

expiration

8

short-string

header

ttl

milliseconds/ulong

expiration - 'arrival-time'

Y

message propery

expiration

8

short-string

header

absolute-expiry-time

timestamp /ulong

 

Y

message propery

content type

15

short-string

properties

content-type

symbol

value '"application/java-object-stream' changed to 'application/x-java-serialized-object'

Y

message propery

encoding

14

short-string

properties

content-encoding

symbol

only 'gzip' encoding is stored, null otherwise

Y

message propery

message id

7

short-string

properties

message-id

binary

 

Y

message propery

correlation id

10

short-string

properties

correlation-id

binary

 

Y

message propery

user id

4

short-string

properties

user-id

binary

 

Y

message propery

reply to

9

short-string

properties

reply-to

string

if binding url the value is changed to <exchange name>/<routing key> or <queue name> or <routing key> if either <exchange name>, <routing key> or <queue name> is sepcified, otherwise original value. No address support.

Y

message propery

timestamp

6

long

properties

creation-time

timestamp /ulong

 

N

message propery

type

5

short-string

message-annotation

x-opt-jms-type

string

 

N

message propery

application id

3

short-string

application-properties

application-id

string

 

N

message propery

cluster id

2

short-string

application-properties

cluster-id

string

 

N

message propery

headers

13

field-table

application-properties

  

every entry except for 'qpid.subject' is put into application-properties as separate property.

Y

message propery headers

qpid.subject

 

short-string

properties

subject

string

 

Y

message propery headers

JMSXGroupID

 

short-string

properties

group-id

string

 

N

message propery headers

JMSXGroupSeq

 

int

properties

group-sequence

sequence number

 

N

message delivery count

  

int

header

delivery-count

uint

dynamically set on sending

Y

message delivery count

  

int

header

first-acquirer

boolean

dynamically set on sending

Y

basic.publish

routing-key

 

short-string

properties

subject

string

 

Y

basic.publish

exchange

 

short-string

properties

to

string

Should it be included into 'properties->to' in a

AMQP 0-8..0-9-1 message properties conversion into AMQP 0-10 message properties

AMQP 0-8..0-9-1 message

AMQP 0-10 message

Implemeneted

Property origin

Property name

Bit

type

Header entry

Property name

Type

Comments

message propery

delivery mode

12

unsigned byte

delivery-properties

delivery-mode

uint8

 

N

message propery

priority

11

unsigned byte

delivery-properties

priority

uint8

 

Y

message propery

expiration

8

short-string

delivery-properties

expiration

datetime

dynamically set on sending

Y

message propery

expiration

8

short-string

delivery-properties

ttl

uint64

 

Y

message propery

timestamp

6

long

delivery-properties

timestamp

datetime

 

Y

message propery

content type

15

short-string

message-properties

content-type

str8

 

Y

message propery

encoding

14

short-string

message-properties

content-encoding

str8

 

Y

message propery

message id

7

short-string

message-properties

message-id

uuid

removes 'ID:', if value cannpt be converted into uuid, null is used . Is it correct?

Y

message propery

correlation id

10

short-string

message-properties

correlation-id

vbin16

 

Y

message propery

user id

4

short-string

message-properties

user-id

vbin16

 

Y

message propery

reply to

9

short-string

message-properties

reply-to

reply-to

 

Y

message propery

application id

3

short-string

message-properties

app-id

vbin16

 

Y

message propery

headers

13

field-table

message-properties

application-headers

map

 

Y

message propery

type

5

short-string

message-properties

application-headers['x-jms-type']

str8

 

Y

message content

  

long

message-properties

content-length

uint64

 

Y

entry delivery count

  

int

delivery-properties

redelivered

bit

dynamically set on sending

Y

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

 

N

AMQP 0-10 message properties conversion into AMQP 1-0 message properties

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/ulong

 

Y

delivery-properties

expiration

datetime

header

absolute-expiry-time

timestamp /ulong

 

Y

delivery-properties

timestamp

datetime

properties

creation-time

timestamp /ulong

 

N

delivery-properties

redelivered

bit

header

first-acquirer

boolean

 

N

delivery-properties

routing-key

str8

properties

subject

string

 

N

delivery-properties

exchange

str8

properties

to

string

 

N

delivery-properties

immediate

bit

 

 

 

 

 

delivery-properties

discard-unroutable

bit

header

first-acquirer

boolean

 

N

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

binary

 

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

application-properties

application-id

string

 

N

message-properties

application-headers

map

application-properties

  

 

Y

message-properties

content-length

uint64

 

 

 

 

 

message-properies headers

qpid.subject

 

 

properties

subject

string

 Y

message properies headers

JMSXGroupID

 

str

properties

group-id

string

 N

message properties headers

JMSXGroupSeq

 

int

properties

group-sequence

sequence number

 N

AMQP 0-10 message properties conversion into AMQP 0-8..0-9-1 message properties

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 propery

delivery mode

boolean

true when 'delivery mode'=2, otherwise false

Y

delivery-properties

priority

uint8

message propery

priority

unsigned byte

 

Y

delivery-properties

ttl

uint64

message propery

expiration

short-string

 

Y

delivery-properties

timestamp

datetime

message propery

timestamp

long

 

N

delivery-properties

redelivered

bit

header

first-acquirer

boolean

 

N

delivery-properties

routing-key

str8

properties

subject

string

 

N

delivery-properties

exchange

str8

properties

to

string

 

N

delivery-properties

immediate

bit

 

 

 

 

 

delivery-properties

discard-unroutable

bit

header

first-acquirer

boolean

 

N

message-properties

content-type

str8

message propery

content type

short-string

 

Y

message-properties

content-encoding

str8

message propery

encoding

short-string

 

Y

message-properties

message-id

uuid

message propery

message id

short-string

 

Y

message-properties

correlation-id

vbin16

message propery

correlation id

short-string

 

Y

message-properties

user-id

vbin16

message propery

user id

short-string

 

Y

message-properties

reply-to

reply-to

message propery

reply to

short-string

 

Y

message-properties

app-id

vbin16

application-properties

application-id

string

 

N

message-properties

application-headers

map

application-properties

  

 

Y

message-properties

content-length

uint64

 

 

 

 

 

message-properies headers

qpid.subject

str

properties

subject

string

 

Y

message properies headers

JMSXGroupID

str

properties

group-id

string

 

N

message properties headers

JMSXGroupSeq

int

properties

group-sequence

sequence number

 

N

AMQP 1-0 message properties conversion into AMQP 0-8..0-9-1 message properties

AMQP 1-0 message

AMQP 0-8..0-9-1 message

 

 

 

 

Implemented

 

Section name

Property name

Type

Properties

Property name

Bit

Type

Comments

header

durable

boolean

message propery

delivery mode

12

unsigned byte

 

Y

header

priority

unsigned byte

message propery

priority

11

unsigned byte

 

Y

header

ttl

milliseconds/ulong

message propery

expiration

8

short-string

 

Y

header

absolute-expiry-time

timestamp /ulong

 

 

 

 

 

 

header

delivery-count

uint

 

 

 

 

 

 

header

first-acquirer

boolean

 

 

 

 

 

 

properties

content-type

symbol

message propery

content type

15

short-string

 

Y

properties

content-encoding

symbol

message propery

encoding

14

short-string

 

Y

properties

message-id

binary

message propery

message id

7

short-string

 

Y

properties

correlation-id

binary

message propery

correlation id

10

short-string

 

Y

properties

user-id

binary

message propery

user id

4

short-string

 

Y

properties

reply-to

string

message propery

reply to

9

short-string

 

Y

properties

creation-time

timestamp /ulong

message propery

timestamp

6

long

 

N

properties

subject

string

message propery headers

qpid.subject

 

short-string

 

N

properties

group-id

string

message propery headers

JMSXGroupID

 

short-string

 

N

properties

group-sequence

sequence number

message propery headers

JMSXGroupSeq

 

int

 

N

properties

to

string

 

 

 

 

exchange/routing-key

N

application-properties

application-id

string

 

 

 

 

 

N

application-properties

cluster-id

string

 

 

 

 

 

N

application-properties

 

 

message propery

headers

13

fieldtable

 

Y

message-annotation

x-opt-jms-type

string

message propery

type

5

short-string

 

Y

AMQP 1-0 message properties conversion into AMQP 0-10 message properties

AMQP 1-0 message

AMQP 0-10 message

Implemented

 

Section name

Property name

Type

Property segment

Property name

type

Comments

header

durable

boolean

delivery-properties

delivery-mode

uint8

 

Y

header

priority

unsigned byte

delivery-properties

priority

uint8

 

Y

header

ttl /absolute-expiry-time

milliseconds/ulong

delivery-properties

ttl

uint64

 

Y

properties

content-type

symbol

message-properties

content-type

str8

 

Y

properties

content-encoding

symbol

message-properties

content-encoding

str8

 

Y

properties

message-id

binary

message-properties

message-id

uuid

 

Y

properties

correlation-id

binary

message-properties

correlation-id

vbin16

 

Y

properties

user-id

binary

message-properties

user-id

vbin16

 

Y

properties

reply-to

string

message-properties

reply-to

reply-to

 

Y

properties

creation-time

timestamp /ulong

delivery-properties

timestamp

datetime

 

N

properties

subject

string

message-properies

headers['qpid.subject']

 

 

N

properties

group-id

string

message-properies

headers['JMSXGroupID']

 

 

N

properties

group-sequence

sequence number

message properies

headers['JMSXGroupSeq'

 

 

N

properties

to

string

delivery-properties

exchange

str8

 

N

properties

to

string

delivery-properties

routing-key

str8

 

N

application-properties

 - map

message-properties

application-headers

map

 

Y

content

  

delivery-properties

content-length

 

 

Y

Message types conversion matrices

TODO

 

.

  • No labels