-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6816/
-----------------------------------------------------------

(Updated Sept. 24, 2012, 2:24 p.m.)


Review request for qpid, Gordon Sim, Robbie Gemmell, Weston Price, and Keith 
Wall.


Changes
-------

Added the missing files. Thx Gordon for pointing it out.


Description
-------

We have a need to support amqp encoded list messages that are understood across 
all language clients. In JMS this is a bit difficult as there is no direct list 
message interface like the map message.
I wanted to introduce a way of getting list message support while using only 
JMS interfaces.

The list message support is implemented as a special case of Map message, where 
the only entry is a list (it can be nested lists as well).
The application notifies the client of their intention via a message header.
MapMessage m = _session.createMapMessage();
m.setBooleanProperty("encode-as-list", true);
m.setObject("amqp/list", myList);
_producer.send(m);

The resulting message body will be encoded as an AMQP 0-10 list. A C++ or 
python client can then directly read it as a list message.

On the receiving side, it will be presented as a MapMessage with a single entry 
retrieved using "amqp/list".
List list = (List)m.getObject("amqp/list");

Please feel free to provide feedback, including alternative ways of 
implementing this.
All feedback are most welcomed!


This addresses bug QPID-3906.
    https://issues.apache.org/jira/browse/QPID-3906


Diffs (updated)
-----

  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
 1389396 
  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
 1389396 
  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedListMessage.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedListMessageFactory.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/JMSStreamMessage.java
 1389396 
  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java
 1389396 
  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/jms/ConnectionURL.java
 1389396 
  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/jms/ListMessage.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/jms/Session.java
 1389396 
  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/configuration/ClientProperties.java
 1389396 

Diff: https://reviews.apache.org/r/6816/diff/


Testing
-------

AMQPEncodedListMessageTest is added to cover several cases.


Thanks,

rajith attapattu

Reply via email to