Hello Andre, you should try to get some real-life data to decide on connection management. Like a trace on how many connections are made to which hosts in what frequency. Then you can verify whether the frequently used hosts support connection keep-alive or not.
I agree with Michael's assessment that a single connection per thread is the best way to go in this situation, unless you are sure there is some gain in connection reuse. By implementing a custom connection manager, you have full control over how long connections are kept alive, so you can manage that risk. Servers that cannot handle more than one request per connection are supposed to send "connection: close" headers back, and/or use HTTP 1.0. Connections will only be reused for servers that clearly indicate by the HTTP protocol version and connection headers that they are capable of handling another request. cheers, Roland Andre John Mas <[EMAIL PROTECTED]> 19.03.2004 21:11 Please respond to "Commons HttpClient Project" To: "'Commons HttpClient Project'" <[EMAIL PROTECTED]> cc: Subject: Multithreaded Connection manager question and 400+ servers Hi, At the company I work for we are developing a middleware application that routes SOAP messages from one party too another, using HTTP. I have suggested that we use the MultithreadedConnectionManager, though at the moment there is some reluctence. The issue seems to be because we are potentially connecting to 400+ different servers. The danger of keeping a connection open could mean that there are no connections left to connect to another server to send the messages. There are also worries that some of the parties we connect to have basic HTTP implementations (there are a lot of homebrew solutions in C/C++) and therefore don't handle more than one query/answer on the same connection. I should mention that at the moment we create a new HTTPClient for every connection and the client is not reused across any threads. Because of the shear volume of traffic we are likely to be handling I am wanting to find ways of optimizing the use of every API we use, while not breaking anything. Has anyone used HTTPClient in this sort of situation? What is the best way to go about using HTTPClient for this? Is there anything else I should know? regards Andre --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]