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.