On Thu, Oct 18, 2012 at 7:38 AM, kishorecj <kishor...@gmail.com> 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: > http://camel.465427.n5.nabble.com/How-to-maintain-a-seperate-Datastructure-to-choose-processor-in-my-custom-load-balancer-tp5721214.html > Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen ----------------- Red Hat, Inc. FuseSource is now part of Red Hat Email: cib...@redhat.com Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen