camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <>
Subject Re: How to maintain a seperate Datastructure to choose processor in my custom load balancer
Date Thu, 18 Oct 2012 08:55:34 GMT
On Thu, Oct 18, 2012 at 7:38 AM, kishorecj <> wrote:
> Hi Sir,
>           My requirement is ,
>     a group of tomcats are mapped to a particular appid and route should
> happen based on incoming request  with appid .
>           hashmap looks like
>                                   tomcat1
>                       app1 -   tomcat2
>                                    tomcat3
>                                    tomcat4
>                        app2 -   tomcat5
> so if incoming request comes with appid=app1  then my custom loadbalancer
> should route to one of tomcat1-tomcat3.
> adding tomcat's will happen at runtime[dynamic adding support].
> whenever a new tomcat gets added to a particular applicationid then i am
> creating a HttpEndpoint processor and adding it in into hashmap.
> when i get a request trying to get the processor and calling
> processor.process(exchange).
> but it is retrying 3 times and failing.
> Please help me in solving this problem or share some idea where i might be
> wrong.

You can do this with a custom load balancer. And when a new tomcat is
added, then as you say create the endpoint, and then the producer, and
remember to start the producer.

And when you invoke process on the chosen producer, you may want to
have retry logic in case it fails. And maybe pickup another of the
tomcats within that group.

Some of that logic you can use the Camel error handler, where you can
let it retry the load balancer X number of times etc.

And btw when a tomcat is taking out, then you need to stop the
associated producer.

> --
> View this message in context:
> Sent from the Camel - Users mailing list archive at

Claus Ibsen
Red Hat, Inc.
FuseSource is now part of Red Hat
Twitter: davsclaus
Author of Camel in Action:

View raw message