Hi Cyrille,
even if you don't start up a client side callback server you need
to configure it in the ConnectQos so that the server establishes
a callback queue. By setting retries='-1' the server never gives
up to reach the client.
I have tried it with the following script:
=======================================================
<!--
java javaclients.script.XmlScript -requestFile loginLogoutSubscribe.xml
-->
<xmlBlaster>
<connect>
<qos>
<securityService type="htpasswd" version="1.0"><![CDATA[
<user>tester</user>
<passwd>tester</passwd>
]]></securityService>
<persistent>true</persistent>
<session name='tester/1' />
<queue relating='connection'>
<address type="XMLRPC" pingInterval='1000' retries='-1'
delay='2000' />
</queue>
<!-- DO THIS: -->
<queue relating='callback' maxEntries='5' maxEntriesCache='2'>
<callback type="XMLRPC" pingInterval='1000' retries='-1'
delay='1000' />
</queue>
</qos>
</connect>
<subscribe><key
oid="__sys__Login"></key><qos><persistent>false</persistent></qos></subscribe>
<wait delay="600000000" />
</xmlBlaster>
=======================================================
Probably you could additionally set
<callback ... dispatcherActive='false' ...
like this the callback framework is not needlessly trying to find the
client.
regards
Marcel
Giquello wrote:
Michele wrote:
Hi Cyrille,
You could invoke a consumable get. See more about its usage on:
http://www.xmlblaster.org/xmlBlaster/doc/requirements/engine.qos.queryspec.QueueQuery.html
Hello,
I'm trying that tips, but at the subscibtion step I've got the error :
"You can't subscribe to 'tools.chat' without having a callback server"
What I've to put in the connect Qos to avoid this message.
Here is the Connect Qos :
<qos>
<session name="'username/3" timeout="3600000" maxSessions="10"
clearSessions="false" />
</qos>
Here is the Subscribe Qos :
<qos>
<meta>true</meta>
<content>true</content>
<multiSubscribe>false</multiSubscribe>
<local>true</local>
<initialUpdate>false</initialUpdate>
<notify>false</notify>
<querySpec type="QueueQuery" version="1.0">
<![CDATA[maxEntries=3;maxSize=-1;consumable=true;waitingDelay=0]]>
</querySpec>
</qos>
Here is the Get Qos :
<qos>
<querySpec type="QueueQuery">
<![CDATA[maxEntries=3&maxSize=-1&consumable=true&waitingDelay=0]]>
</querySpec>
</qos>
Thanks,
Cyrille