Hello,

I need to setup a jms bridge to connect a local queue to a remote queue with
a WAN network connection in between. The bridge must cope with
unavailability of the remote queue because of network failure for instance:
messages should stay in the local queue and be transparently redelivered
when the remote queue becomes reachable.

(Note: currently using ActiveMQ but may have to switch to HornetQ when in
production)

My first thought was to setup a simple Camel route that would consume from
the local queue and deliver to the remote as follows:

   <route>
      <from uri="activemq-local:toremote" />
      <to uri="activemq-remote:fromlocal" />
   </route>

This works great but how would you handle failure (remote not available) and
retry?

Should I make the route transacted and rely on broker redelivery (instead of
Camel redelivery)? The point is I don't want to loose messages in case the
local Camel instance crashes. As far as I understand, without transaction,
the message is removed from the queue and held in memory during the retry...

Should I play with the Camel ErrorHandler and Redelivery policies?

In other words, how would you do it?

Thanks for your advices,
/Bertrand



--
View this message in context: 
http://camel.465427.n5.nabble.com/JMS-local-to-JMS-remote-bridge-tp5741622.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to