Hi

There are load balancers with Camel
http://camel.apache.org/load-balancer.html

And there is a failover load balancer as well that can do a simple try
the next endpoint until success kinda style.
Its a bit primitive at the moment and we would like to improve that in
the future.

But it allows you to implement your own load balancer and do your
strategy how you like it.

Any feedback for features that could be needed for a more advanced
failover loadbalancer is much welcome.

Ah the failover loadbalancer is not part of Camel 1.x. But you can
check the source code for 2.0 and create your own kinda to use in 1.x.
https://svn.apache.org/repos/asf/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/



On Thu, May 14, 2009 at 11:45 AM, Nasim Anza <[email protected]> wrote:
> Hi,
>
> I would like to implement the following route with Camel 1.6 :
>
> from("direct:endpointA")
> .setHeader(HttpProducer.HTTP_URI).simple("http://myAddressA";)
> .to("http://xxxxxx";)
> .to("direct:endPointB")
>
> from("direct:endpointB")
> .setHeader(HttpProducer.HTTP_URI).simple("http://myAddressB";)
> .to("http://xxxxxx";)
> .to("direct:endPointC")
>
> from("direct:endPointC")
> .to("xquery:response.xml");
>
> This route works fine if both URLs : http://myAddressA and
> http://myAddressBare accessible and no error occurs during the
> invocation.
> Unfortunately, sometimes these services become unreachable and I would like
> to try other URLs until getting valid answer:
>
> If an exception happens when calling the URL http:/:myAddressA, I would like
> to attempt other URLs : myAddressA1, myAddressA2, ...until getting valid
> HTTP response.
> The same thing with myAddressB ==> myAddressB1, myAddressB2, ...
>
> With java this could be simply coded like following :
>
> try
> {
>  call_http(myAddressA)
> }
> catch(Throwable th)
> {
>     try
>      {
>        call_http(myAddressA1)
>      }
>      catch(Exception x)
>      {
>           //Call addressA2
>           ....
>      }
> }
>
> I've tried the onException() mechanism and the deadLetterChannel processor
> but I never get working my route.
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to