Hello all, 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 need an extremely fast processing time and for this I want to control the connection pool, enforce keep-alive connections, timing out of connections, ...
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 both connection pools. I already know there are quite a few parameters you can set, as explained in various article 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. To give a very crazy example, I could have a "my-jetty" component and let it point to an hard coded jetty server. - 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 -- View this message in context: http://camel.465427.n5.nabble.com/under-the-hood-architecture-of-camel-jetty-and-camel-http4-tp5735291.html Sent from the Camel - Users mailing list archive at Nabble.com.
