activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: Temp queue vs topic via message selector?
Date Tue, 04 Sep 2007 07:18:46 GMT

Hi James,
Could you describe what this problem is & how to reproduce? What
version are you using? Are you hitting RAM exhaustion?

The issue is pretty much identical to that described here: AMQ-1375 

We are using AMQ 4.1.1 with embedded broker.

When we make lots of quick requests from a client on a temp queue, the
embedded broker on server side seems to block. Nothing can then be sent to
any destination and any further call to createTemporaryQueue() also blocks.
If doesn't look like a RAM issue as the MemoryPercentageUsed on the broker
is zero when it happens. We were previously having issues with RAM but we
moved to 512MB which seems to have sorted it. The trace dump has a number of
threads blocked on oneWay.wait(). 

The client only adds an anonymous Runnable to an executor so I don't see why
this should be slow, and it doesn't make the AMQ thread wait for any code to
execute. Hence I don't see how the broker gets backed up. One issue I have
is that I don't really understand how AMQ works internally so its hard to
diagnose a problem when you dont know the workings of a major component.

>If clients come and go and their messages are meant to be discarded
>when a client disappears then temporary queues are really exactly what
>you need. Also lots of clients on a single topic with selectors is
>much less efficient than using temporary queues. But either should
>work in theory.

Yes thats what I was thinking on the efficiency and we do want the messages
discarded on client shutdown.

>I'd recommend getting temporary queues to work; as it scales better &
>offers the big feature, that client-specific messages are trashed as
>soon as clients disconnect.  There could maybe be performance issues
>with the single-topic approach with 'slow consumers'; particularly if
>its the same producer sending to all the clients. (e.g. 1 client being
>slow could potentially block messages for other clients using the
>single topic option).

Yes it will be the one producer always, one client blocking is what we are
afraid off alright.

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message