activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raul Kripalani <>
Subject Re: Performance: queues/topics vs. selectors
Date Mon, 04 Jun 2012 13:56:59 GMT
How many clients will you have? i.e. potential destinations if you follow
the 1-destination-per-chatter model? Will they all be connected at the same
time? Do messages expire? Are messages volatile, or do you need to save
them in case chatters have disconnected?

If you can avoid a "single destination + selectors" model, then do so.
That's because selectors are only evaluated against messages paged in from
the persistent store. So you could easily get into a situation where your
consumers stop receiving outstanding messages because one of them
disconnected, and there's more unmatched messages than the maximum page
size. Therefore, dispatch blocks until a matching consumer re-connects.

By default, 200 messages are loaded from persistent store to memory for
selector evaluation and dispatch, but you can alter that value setting a
maxPageSize in the destination policies (

If you can answer the first questions, I can provide more guidance.


*Raúl Kripalani*
Principal Consultant | FuseSource Corp. | <>
skype: raul.fuse | twitter: @raulvk <>,


On 1 June 2012 12:03, Shine <> wrote:

> Hi,
> i would like to create an appliction like a chat. Every client/Consumer can
> send (publish) a message to every other client, but not send one message to
> all (no broadcast).
> What is the best way/practice to get the best performance?
> - Every client consume their own topic/queue? The messagebroke has to
> manage
> many many topics/queues.
>  -> Publisher send the message to the client topic/queue.
> - All clients consume the same topic with a selector like 'clientid=abcdX'
>  -> Publisher send the message to the topic with the property
> 'clientid=abcdX'
> best regards
> Shine
> --
> View this message in context:
> Sent from the ActiveMQ - User mailing list archive at

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message