Have you received an answer to this question or found a solution to your question?
I am running into the same issue, and I'd like to know how to proceed with the configuration. I noticed you said it seems to work properly with the JMS bridge, which I saw in another message is being deprecated in favor of camel routing. If the camel routes are the way of the future I believe they will need to behave in the expected way in a master/slave configuration. Just as the way the JMS bridging works. Can someone "in the know" comment on this behavior? lsclark wrote: > > > James.Strachan wrote: >> >> >> if the master JVM dies, so will its camel context - and the slave >> won't startup until it becomes the master (so its camel context won't >> be active) - so I think it should work fine. >> >> > > I've been working through strategies of how to failover a durable > subscriber to a remote JMS topic in a master/slave ActiveMQ configuration. > I found during testing that embedded camel routes are started and active > on the slave(s) upon slave startup (and their startup is not influenced by > master/slave failover). > > Still, by defining a Camel endpoint using a durable subscriber that uses > the same clientId and subscriptionName across the master/slaves, you could > get failover of the subscriber. But I was running into issues of the > slave having failed to connect due to the master having already connected > with that clientId/subscriptionName. And upon failover, the slave did not > try to reconnect (probably a config parameter that could be tweaked to > decrease the retry wait time?). Also, in JDBC or Shared FS Master/Slave > configs with 2+ slaves, can you be sure that the broker that was first to > establish the durable subscriber connection is the same broker that is > currently master? Is there a listener/flag/something that could tell a > slave that it is a master, and thus influence Camel to stop/start a route? > (ActiveMQ 5.2 AdvisoryTopic.MasterBroker might work here). > > The best solution that I've come up with to get failover of a durable > subscriber is to not use a Camel route, but use a JMSBridgeConnector to > bridge messages from the remote broker to the active master broker. > > To show that camel routes are started on slaves, I've attached three > config files to simulate a remote broker, a master broker, and a slave > broker. I have both the master and slave broker configured with camel > routes that establish different durable subscribers on the remote broker > and pull messages. If you startup the remote, then master, then slave, > you'll see that both the master and slave have durable topic connections > registered on the remote. If you produce messages on the remote's > durableSubscriberTest topic, you'll see that the master's camel route > pulls these messages to its masterDurableSubscriberTest topic, and that > the slave also pulls these messages to its slaveDurableSubscriberTest > topic. > > If I've completely flubbed up this configuration and left something out > that would make this camel route be influenced by master/slave failover, > please let me know. > > http://www.nabble.com/file/p18264114/activemq_remote.xml > activemq_remote.xml > http://www.nabble.com/file/p18264114/activemq_master.xml > activemq_master.xml > http://www.nabble.com/file/p18264114/activemq_slave.xml > activemq_slave.xml > -- View this message in context: http://www.nabble.com/Camel-in-Master-Slave-ActiveMQ-config-tp18225430s22882p20670619.html Sent from the Camel - Users mailing list archive at Nabble.com.
