On Mon, 2006-05-15 at 15:26 +0200, SZÜCS Balazs wrote: > Hello, > > I made two changes to the HttpClient code: > > 1) in the class ConnectionPool in the method getFreeConnection( ... ) I > changed freeConnections.removeFirst() to freeConnections.removeLast(). Now > the container for free connections behaves as a stack rather than a queue. > > 2) additionally I changed the IdleConnectionTimeoutThread, in the run() > method I added connectionManager.deleteClosedConnections() so that the pool > size is maintained correctly. > > What do you think? > Balazs
Balazs, Please file an enhancement request in Jira and optionally attach a patch against SVN trunk. We will consider this code for inclusion into the release 3.1 http://issues.apache.org/jira/browse/HTTPCLIENT Oleg > > -----Original Message----- > From: Oleg Kalnichevski <[EMAIL PROTECTED]>@DSI > Sent: Donnerstag, 04. Mai 2006 18:07 > To: HttpClient User Discussion > Subject: Re: MultithreadedConnectionManager pooling strategy > > On Thu, 2006-05-04 at 18:00 +0200, SZÜCS Balazs wrote: > > Hello, > > > > I'm using HttpClient 3.0-rc4, and I have a question about the > connection > > pooling strategy of MultithreadedConnectionManager. The reason for > that is > > that I use an IdleConnectionTimeoutThread (runs every 60 secs, > using a > > timeout of 60 secs) configured with a > MultithreadedConnectionManager, and > > idle connections don't seem to get closed by the > > IdleConnectionTimeoutThread. However, on a long time span > (overnight) the > > pool size decreases, but I would expect a quicker reaction, when > my > > application is not unter heavy load. > > > > I've taken a look at the source of MultithreadedConnectionManager, > and I > > realized, that free connections are stored in a linked list. On > demand the > > next free connection is taken from the BEGINNING of the list, > while after > > usage the connection is put back to the END of the list. This > seems to me a > > round robin behavior, and it might prevent connections reaching > the > > predefined age for being recognized as idle. If there is some > load, each > > free connection will be used, instead of just using a few of them, > and > > letting the rest age. > > > > Does that make any sense? > > > > Balazs, > > Yes, it does. Please file a bug report in Bugzilla. Feel free to > provide > a patch for the problem. We love patches ;-) > > Oleg > > > Thank you! > > > > Balazs > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
