|
REQUIREMENT engine.queue |
| Type | NEW |
| Priority | HIGH |
| Status | CLOSED |
| Topic | XmlBlaster has a sophisticated message queueing engine | ||||||||||||||||||||||||||||||||
|
Des cription |
Message are queued only when necessary. This occurs typically on messages which need to be sent back to clients:
Queue Features:
|
||||||||||||||||||||||||||||||||
|
Example Java |
These are example QoS of a connect() invocation:
================================================
<qos>
...
<!-- SessionQueue callback: Use CORBA to send messages back -->
<queue relating='callback' maxEntries='1600' expires='360000000'
onOverflow='deadMessage' onFailure='deadMessage'>
<callback type='IOR' sessionId='sd3lXjs9Fdlggh'
pingInterval='60000' useForSubjectQueue='true'>
IOR:00011200070009990000....
</callback>
</queue>
</qos>
<qos>
...
<!-- specify subjectQueue parameters -->
<queue relating='subject' maxEntries='1600' expires='360000000'
onOverflow='deadMessage'>
</queue>
</qos>
<qos>
...
<!-- SessionQueue callback:
Use CORBA to send messages back with default queue parameters
-->
<callback type='IOR'>
IOR:00011200070009990000....
<compress type='gzip' minSize='1000' />
<!-- compress messages bigger 1000 bytes before sending them to me -->
<burstMode collectTime='400' />
<!-- Collect messages for 400 milliseconds and update
them in one callback (burst mode) -->
</callback>
</qos>
These are example QoS of subscribe() invocations:
================================================
<!-- The subscribed messages are delivered via the SessionQueue of the subscriber -->
<qos>
</qos>
<!-- Same as above -->
<qos>
<queue relating='callback'/>
</qos>
Any other queue overwrites session delivery:
<!-- The subscribed messages are only delivered via the
SubjectQueue of the current client -->
<qos>
<queue relating='subject'/>
<queue relating='subject:somebodyElse'/>
</qos>
<qos>
<queue maxEntries='1000' maxBytes='4000000' onOverflow='deadMessage'/>
<callback type='EMAIL'>
et@mars.universe
<!-- Sends messages to et with specified queue attributes -->
</callback>
</queue>
<callback type='EMAIL' onFailure='deadMessage'>
tolkien@mars.universe
<!-- Sends messages to tolkien, with default queue settings -->
</callback>
<callback type='XMLRPC' sessionId='8sd3lXjspx9Fdlggh'>
http:/www.mars.universe:8080/RPC2
</callback>
<!-- The session id is passed to the client callback server, he can check
if he trusts this sender -->
</qos>
This is an example QoS of a disconnect() invocation:
====================================================
<qos>
<deleteSubjectQueue>false</deleteSubjectQueue>
</qos>
|
||||||||||||||||||||||||||||||||
| Configure |
These parameters allow to configure the xmlBlaster server default behavior.
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.engine.queue.MsgQueue | ||||||||||||||||||||||||||||||||
| See API | org.xmlBlaster.engine.callback.CbWorker | ||||||||||||||||||||||||||||||||
| See API | org.xmlBlaster.util.qos.address.CallbackAddress | ||||||||||||||||||||||||||||||||
| See API | org.xmlBlaster.util.qos.storage.QueueProperty | ||||||||||||||||||||||||||||||||
| See API | org.xmlBlaster.client.qos.ConnectQos | ||||||||||||||||||||||||||||||||
| See API | org.xmlBlaster.client.qos.DisconnectQos | ||||||||||||||||||||||||||||||||
| See REQ | engine.callback | ||||||||||||||||||||||||||||||||
| See REQ | engine.qos.login.callback | ||||||||||||||||||||||||||||||||
| See REQ | util.property | ||||||||||||||||||||||||||||||||
| See REQ | util.property.args | ||||||||||||||||||||||||||||||||
| See REQ | util.property.env | ||||||||||||||||||||||||||||||||
| See REQ | admin.errorHandling |
This page is generated from the requirement XML file xmlBlaster/doc/requirements/engine.queue.xml