activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From yinghe0101 <>
Subject Re: gracefully stop ActiveMQ in a network of broker
Date Tue, 11 Nov 2008 21:07:21 GMT

hi Bruce,
thanks for your info. I think I did not clearly explain my setup. 
I have masterBroker1/slaveBroker1 and masterBroker2/slaveBroker2 on
different machines.
Then my client( both producers and consumers) use
I only use slaveBrokers for data replication. 
To answer you, the messages are persistent.

The issue I have is when I need to do maintainence work on masterBroker1. I
need to stop masterBroker1/slaveBroker1 and have masterBroker2/slaveBroker2
still able to accept client. 
Suppose masterBroker1 have some pending messages in a queue before the
shutdown, and I will not bring it backup again soon, i want all those
pending messages being able to forward to masterBroker2 before masterBroker1
stops, because those pending messages might be critical. 

In sum, i need a way to first notify masterBroker1 to stop accepting
clients, then forward all its pending messages to the other masterBroker,
then stop it. Is there a way to do this without modifying the code? or I
have to change the stop in BrokerService, if I need to change the code, how
do I know all the pending messages are forwarded?

hope this clarify my question. I will appreciate your advice. thanks


bsnyder wrote:
> On Tue, Nov 11, 2008 at 12:40 PM, yinghe0101 <> wrote:
>> hi, All,
>> first, I have a question. the setup I have is two pair of master/slave
>> running on different machines.
>> When I use activemq-admin.bat stop --jmxurl to stop one master, what
>> happens
>> to the pending message in the queue on this stopped broker?
>> I have a requirement that when we need to maintain the server that hosts
>> a
>> broker, we want to stop one broker in a way that it first stops accepting
>> new messages, then it forwards its pending queue messages to the other
>> broker and when all the pending messages are forwarded. it will stop its
>> network connector.
>> Is there any way to achieve the above? or I have to change the source to
>> do
>> this.
> Per the master/slave doc on the ActiveMQ website
> (
> 'The master broker will only respond to a client when a message
> exchange has been successfully passed to the slave. For example, a
> commit
> in a clients transaction will not complete until the master and the
> slave have processed the commit.'
> I also have a question for you - are the messages persistent? If so,
> the messages will be persisted on both the master and the slave.
> Just note that failback must be achieved manually as noted in the
> following doc:
> Bruce
> -- 
> perl -e 'print
> unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
> );'
> Apache ActiveMQ -
> Apache Camel -
> Apache ServiceMix -
> Blog:

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

View raw message