[rabbitmq-discuss] how to send a message including a array via .net client?

David Wragg david at rabbitmq.com
Wed Jan 5 11:15:05 GMT 2011


Chen Houwu <chenhouwu at gmail.com> writes:
> I studied the AMQP 0.9.1 and AMQP 1.0 specification, and found:
> in 0.9.1:  only  opaque binary message content (here means the
> *playload*) is supported.

While the 0.9.1 payload is binary, it is not necessarily opaque: The
Content-Type heaer should be used to identify the format contained
within that payload.  There are many established serialization formats
that you can choose from: JSON, XML, ASN.1 (in its various encodings),
language/platform-specific formats, etc.

Of course, the binary payload is opaque to the message broker, but
that is a good thing - why should the message broker constrain the
message formats that can be used?

> but in 1.0 :  message content can be one of the following data type
> A. opaque binary data: note, in particular, that the section is not an
> instance of the AMQP binary type).
> B. amqp-data: zero or more encoded AMQP values)
> C. amqp-map: zero length or consist of a single encoded instance of an
> AMQP map.
> D. amqp-list: zero length or consist of a single encoded instance of
> an AMQP list.

This feature of 1.0 is questionable.  The serialization format is
specific to AMQP 1.0.  It is not necessarily suited to the needs of
messaging applications (as opposed to a messaging protocol).  And while
and AMQP client and server must implement that format, their
implementations may be optimised to work in their target context, and so
lack features and convenient APIs that would make them suitable for
general application use.


More information about the rabbitmq-discuss mailing list