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

Re: [xmlblaster]



Hi Radu,
the consumable plugin is described in the requirements

http://www.xmlblaster.org/xmlBlaster/doc/requirements/msgDistributor.plugin.ConsumableQueue.html

and

http://www.xmlblaster.org/xmlBlaster/doc/requirements/msgDistributor.plugin.html

Per default the plugin is already configured. To see how to invoke it have a look at the script

demo/javaclients/script/consumableQueue.xml

you can invoke it to test from demo/javaclients/script:

java javaclients.script.XmlScript -requestFile consumableQueue.xml

To cover the behaviour you described it is probably best to make a copy of the plugin

org.xmlBlaster.engine.distributor.plugins.ConsumableQueuePlugin

and modify it according to your needs.
To distinguish wether one message has to be distributed to one or more clients I would set a flag in the client properties in the publishQos (for example


'_distribution' as the key of the property and 'SINGLE' or 'MULTI' as the two possible values.

In your modified plugin you would then look at this client Property and take the appropriate actions thereafter ('SINGLE' would have the current behaviour and 'MULTI' would distribute it to all subscribers found).

Hope that helps
Cheers
Michele



Radu Maierean wrote:
Hi,

we need to make use of a certain feature of the XMLBlaster. suppose we
have a few subscribers registered for a particular topic (it is actually
a few instances of the same application, which run in load balancing
mode). we need to create a scenario in which a publisher posts a message
on the topic, but we only need one single subscriber to receive it.

the way that we see it is, the publisher can dictate somewhere (possibly
in the <qos> tag), at the time the posted message is created, whether
that message is supposed to be received by all the subscribers, or by
just one of the registered subscribers. practically, we want to use
XMLBlaster to access distributed database queries: if the message is
some sort of a SELECT command, then one single response from any of the
databases should be enough (considering the databases are sync'ed); if
the message is an INSERT or an UPDATE, we need all the subscribers to
perform the command on their local databases.

i know you have some work done on that ConsumableQueue concept, but i
didnt quite understand how that works. i also know that theres a method
that goes around, with doing some sort of administrative get()'s, but we
would definitely prefer the subscriber push (or callback, as you call
it). can you provide a step-by-step approach on how to install the
ConsumableQueue plugin and how to publish, register and receive a
message in the scenario above. even if it's not fully tested, we may
volunteer to do that for you.

thanks!

r


Radu Maierean
JamboTECH phone: 818-676-3452
email: radu at jambotech.com






--
Michele Laghi
mailto:laghi at swissinfo.org
tel. +46 8 7492952 / mob. +46 70 4103964
http://eclettic.tripod.com
http://www.xmlBlaster.org