Current jetty component have some trouble to setup right context path if you don't specify it like this from("jetty://http://localhost:8080") You can change the uri like this from("jetty://http://localhost:8080/")
if you want to implement a proxy you need to setup the route like this from("jetty://http://localhost:8080/?matchOnUriPrefix=true").loadBalance().roundRobin().to("http://172.28.39.138:8080?throwExceptionOnFailure=false&bridgeEndpoint=true","http://172.168.20.118:8080?throwExceptionOnFailure=false&bridgeEndpoint=true"); -- Willem Jiang FuseSource Web: http://www.fusesource.com (http://www.fusesource.com/) Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) (English) http://jnn.javaeye.com (http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: willemjiang On Wednesday, August 15, 2012 at 8:10 PM, balkishore wrote: > Dear memebers, > This would be my first post in this forum and I am glad. I have started > using camel a while back for a project of mine to create a load balancing > application. > > Well to start with, > My load balncer would listen to a port, lets say 8080 and would balance all > the incoming SOAP requests to a set of backened servers. > These backend servers have apache tomcat installed and listen to port 8080. > The load balancer would be recieving the request from a web browser. > I would have configured the clients in such a way that they would send the > request directly to load balancer. > > Now I have written a small route for initial phase, which is as follow: > > > public class LoadBalancer { > public static void main(String args[]) throws Exception { > CamelContext context = new DefaultCamelContext(); > > context.addRoutes(new RouteBuilder() { > > public void configure() { > from("jetty://http://localhost:8080") > > .loadBalance().roundRobin().to("http://172.28.39.138:8080","http://172.168.20.118:8080"); > } > }); > > context.start(); > > Thread.sleep(100000); > context.stop(); > } > } > > As it can be seen, i am forwarding all the request to two ip address. > When I run this code, I don't get any error, but my client browser shows an > error which explicitly means that the request was not recieved by the load > balancer server. > And when I type localhost:8080, on the local computer where the camel is > running, I get > > HTTP ERROR: 404 > Problem accessing /. Reason: > > Not Found > > I have no idea, why the requests are not being recieved by the camel and why > am i getting this error in the browser. > > Any help would be very much appreciated. I even tried to log the incoming > request using this piece of code > from("jetty://http://localhost:8080") > .to("file:output"); > from("file://output").process(new Processor() { > > private Exchange e; > > public void process(Exchange exchange) throws Exception { > System.out.println("Received exchange:" + e.getIn()); > } > }); > > But it seems my camel isn't recieveing any request at all and i get nothing. > > Any help would be really useful as I am struck in this phase for a long > time. > > Cheers! > > > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Load-balancing-camel-in-real-world-tp5717381.html > Sent from the Camel - Users mailing list archive at Nabble.com > (http://Nabble.com).