Hello all, 2nd attempt to send this (seems I have some problem with getting registered on mailing list it seems and hence my post on the forum doesn't seem to get through, my apology if you get this twice..
I'm working on the concept for a camel route and I have some high level questions about the internal architecture of camel and especially camel-jetty and camel-http4. I have a particular need and for this I want to control the connection pool, enforce keep-alive connections, control connection time-outs, ... My route will take http soap requests (call A) and dispatch them to multiple web services using soap once more (call B). I know how to write this route, so that's not the question. My issue is that I want to exert high control over the behaviour of the underlying jetty server for call A and the http client for call B. The reason is that i need extremely fast response time. I already know there are quite a few parameters you can set, as explained in various articles on google, the docs and the forum, for example http://camel.apache.org/jetty.html and http://camel.apache.org/http4.html and http://camel.apache.org/how-to-use-camel-as-a-http-proxy-between-a-client-and-server.html etc.. But I would like to understand the underlying architecture so that it can be confirmed that above settings will be sufficient or that I need to start digger deeper and how I best tackle this digging. Any pointers and advice are appreciated. Below are a few points where I would like to have answers, pointers to doc, corrections if I didn't get it, confirmation if I got it, suggestions, advice, ... Both high and detailed reactions are appreciated: - I want to enforce the usage of a connection pool and keep-alive connections for call A and call B. Most simple solution is to use the standard configuration options, explained in the links above. Because the camel components just wrap jetty and http client, I really need to start looking at respectively the docs of jetty and http client to understand the possible parameters and their implications? - If the documented configuration parameters are not sufficient for my needs, I need to take the existing components and enrich them or even write my own component, with (to give an extreme example) a reference to an hard coded jetty or my own http client connection pool. - Another idea, probably a very bad one and only valid for call B is to forget about camel-http4: I could write my own processor to do the call B and integrate it into the route. I could then try to write the processor such that it would use a self-built connection pool? - camel-cxf ensures that soap is being integrated into the built-in jetty server automatically, so I don't need to worry about the fact that I'm using a very specific kind of http request (SOAP). I really only need to focus on the http communications going on under the hood, ie. jetty and httpclient? - Would I be able to influence the configuration of the built-in jetty under the hood of camel (without going via camel-jetty) and would this configuration be picked up at run time? I'm mentioning this because I'm considering to deploy the whole application on servicemix, where I have high control over the jetty server (if I use the right version of servicemix :-) Best regards, thank you for reading and big thank you if you also respond :-) geert
