activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dirkdaems <>
Subject broadcast design question
Date Fri, 29 Feb 2008 10:19:47 GMT


we would like to implement a system with X devices. Each device has a
'broadcast topic'. Messages posted on that topic should be received by the
device it was originally sent to plus the other (X-1) devices in a reliable
way: messages should not get lost in case of system shutdown or network
problems. When a device that went down is up again it should be notified of
the messages it missed in the meantime.

We looked at several solutions but bumped into problems with each one of
them. As we use JRE 1.4 and are not yet switched to JRE 5 we are forced to
use Apache MQ version 4.1. If really necessary we could switch to version
5.0 but if it's not necessary we would prefer to avoid that!

A. We investigated a network of brokers
First we ran into the problem that the brokers did not reconnect after
shutting down. This problem was fixed in AMQ-961. We tested the patch for
version 4.1 and it seemed to work well.
Afterwards we ran into a persistence issue (AMQ-527). That seemed to be
fixed in version 5.0 which we can't use at the moment.

B. We investigated fanout transport
That did not work in version 4.1: specifying more than 2 brokers
(fanout:(static:(tcp://remote_device1,tcp://remote_device3))) gives
problems. Again, this problem is fixed in the 5.0 version we can't use.

C. We investigated durable subsciptions
Using durable subscriptions worked in version 5.0 but the sockets between
the brokers kept closing; we found a similar bug report AMQ-1433. Switching
to version 4.1 was no option because there we bumped into AMQ-319: when
device A starts the initial connection to B and C blocks until B and C are
up. This is different behaviour then when using version 5.0: in that version
the application continues and doesn't wait for the remote connections to
come up. I found bug report AMQ-319 but that doesn't solve my problem.

So at the momenent we are really stuck. Does anyone have a suggestion? Could
we use another solution or are we missing something?

Thanks in advance!

Kind regards,
Dirk Daems

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

View raw message