REQUIREMENT engine.message.streaming |
Type | NEW |
Priority | HIGH |
Status | OPEN |
Topic | XmlBlaster makes use of streaming to handle large/big messages |
Des cription |
For use cases where large messages are published, subscribed or getted, a lot memory is
needed to handle them as complete units. For such cases, a different approach is needed. To publish a message there can be two approaches:
Implementation Details
__CHUNK_SEQ_NUM (only filled if the message is a multi-chunk message) (starts with 0 and increments) __CHUNK_EOF when it exists it is always set to 'true' and is only set on the last chunk. On single-chunk messages is never set. __CHUNK_EXCEPTION contains the exception as a blob if an exception occured. __CHUNK_BELONGS_TO a unique Id identifying the complete message. This must be assigned client side. __CHUNK_NMAX the complete number of chunks. This is initially not needed and would only be set if the complete size is known.One open question is on the second alternative (Servlet approach) the publish is invoked implicitly, so the question is how the ReturnQos is handled, and what is the meaning of the publish method ?.
On the Update side
ConnectReturnQos connect(ConnectQos qos, I_UpdateListener updateListener) throws XmlBlasterException; SubscribeReturnQos subscribe(SubscribeKey subscribeKey, SubscribeQos subscribeQos, I_UpdateListener updateListener) throws XmlBlasterException;Again as for the publisher we have two possibilities to read the message content from the stream.
On the Get Side
|
Example Java |
|
Configure |
NOTE: Configuration parameters are specified on command line (-someValue 17) or in the
xmlBlaster.properties file (someValue=17). See requirement "util.property" for details. |
See API | org.xmlBlaster.client.qos.PublishQos |
See API | org.xmlBlaster.client.key.PublishKey |
See API | org.xmlBlaster.engine.xml2java.PublishQos |
See REQ | engine.message.lifecycle |
See REQ | engine.queue |
See REQ | engine.callback |
See REQ | util.property |
This page is generated from the requirement XML file xmlBlaster/doc/requirements/engine.message.streaming.xml