I know of two solutions that provide something similar.

If you run your applications with apache karaf then you can setup file or db based locking. So the container starts up with a low runlevel and then only fully starts after aquiring the lock. If you then package your camel routes into bundles they will be automatically started when the lock is available.

I also have done a prototype of a per route locking solution. See https://github.com/cschneider/simplecluster

While you can use jmx for this I think it is difficult to make it really reliable. The db lock solution I and karaf used are proven.
Perhaps you can build upon this.

Best regards

Christian

Am 18.10.2012 18:26, schrieb gilboy:
Hi

I have an application which I need to have running in a cluster running
primary/seconday(active/inactive) mode.

When each instance of the application (A & B) starts up it connects to a
proprietary application we have internally requesting to be primary. Hence,
if A asks to be primary before B a JMX callback will be made back to A to
indicate it is primary. In this instance, node B will be secondary.

In A I would like to have all routes active. In B I would like to have all
routes inactive/suspended.

My original plan was to set all my routes (either in Spring or Java DSL) to
have AutoStartup disabled, then call camelcontext.resume() on A (in this
example). However, calling context.resume() will not start routes that had
AutoStartup disabled, right? Hence, no routes start. Any ideas? Please note,
I can only invoke the camel JMX API as it has to be a generic non-intrunsive
solution as is going to be using in a number of different applications that
sit on camel

Thanks
Joe









--
View this message in context: 
http://camel.465427.n5.nabble.com/Managing-high-availability-with-Camel-tp5721254.html
Sent from the Camel - Users mailing list archive at Nabble.com.


--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com

Reply via email to