activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Fernandez <>
Subject Re: conduit subscriptions
Date Tue, 11 Aug 2009 20:50:00 GMT

What about using virtual topics instead of topics? This way, all your
consumers consume from queues.


MatsH wrote:
> Hey,
> We use both topics and queues alongside selectors, ActiveMQ 5.2, and we
> were intending to go live using a network of brokers and the clients
> using the failover: protocol.
> Unfortunately, due to how conduit subscriptions work we will start with
> a single broker for now, until we can figure out a good way of doing it.
> The problem is that conduit subscriptions make it difficult to use
> either topics or queues depending on if you have it set to on or off.
> For instance, with conduit subscriptions turned off, you get duplicate
> messages. This quickly gets out of hand if you add more brokers. If you
> have two consumers on broker A and send a message to their topic on
> broker B, each consumer receives the message twice. If you add another
> broker and send the message to one of the brokers that is remote to the
> consumers each consumer now gets 6 messages. Add another consumer and
> each consumer now gets the message 12 times, etc. It very quickly gets
> out of hand, so having conduit subscriptions turned off is a no go.
> On the other hand, with conduit subscriptions turned on you now run into
> problems with queues. With two consumers on broker A and one consumer on
> broker B the messages get distributed unevenly, if 20 messages are sent
> to broker B its lone consumer gets 10 messages, and the other 10 are
> sent to broker A where each consumer only gets 5 messages each.
> Furthermore if you are using selectors (which we are) then if it so
> happened that the 10 messages that went to the consumers on broker A
> didn't match the selectors then those 10 messages would just be stuck on
> the queue on broker A. So having conduit subscriptions turned on is
> firstly impractical since the messages to queues are distributed
> unevenly, and if you are using selectors it doesn't work at all.
> So the situation we are in is that we can't have conduit subscriptions
> turned on because of our queues and we can't have it turned off because
> of our topics. Yes we could refactor and stop using selectors, but our
> messages would still be distributed unevenly.
> It strikes me that if conduit subscriptions could be turned on and off
> independently between queues and topics things would work; we could have
> it turned on for topics and off for queues, and everything would work.
> For those of you that have looked more at the ActiveMQ internals than I
> have, would this be a difficult change to make?
> --
> Mats Henrikson
> Software Engineer
> SunGard Kiodex
> Think before you print

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

View raw message