On 6/29/06, Vadim Pesochinsky <[EMAIL PROTECTED]> wrote:

Let's say I have N queues named as follows:

FIN.VAL.MQ1
...
FIN.VAL.MQN

Receiver uses FIN.VAL.MQ* to listen on the queues.

Minor nit - you'd have to use FIN.VAL.* as we don't currently support
the use of * within a name; just to specify a step if you see what I
mean.


 Lets say that all queues
are filled up with messages. In what order will reciever be getting
messages? Will it keep getting messages from e.g. FIN.VAL.MQ1 until there
are no more messages in this queue?

No, its more kinda random. Basically the wildcard subscription is
kinda interpreted as an aggregation of subscriptions on all the
available queues which match the selector; so the subscription on each
individual queue is independent; though as soon as the consumers
prefetch buffer is filled then other queues can't dispatch to it. So
it will tend to 'chunk' on one destination at a time.

Is there a policy that can be
configured? I need to round-robin between queues ;-).

It depends how 'fair' you want to be. If you want to ensure that one
message is processed from each queue one after the other then no we
don't currently support that. One option could be to use a single
queue with round robin dispatch (to ensure things are dispatched
fairly and to avoid one consumer getting 100 messages in sequence)
then using a header/selector if you need to consume only MQ1 etc.

--

James
-------
http://radio.weblogs.com/0112098/

Reply via email to