[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xmlblaster] getting new messages like a subscribtion



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