Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jakarta-httpclient 
Wiki" for change notification.

The following page has been changed by RolandWeber:
http://wiki.apache.org/jakarta-httpclient/ConnectionManagementDesign

The comment on the change is:
corrected implementation review for MTHCM / HttpMethodDirector

------------------------------------------------------------------------------
  
  The {{{MultiThreadedHttpConnectionManager}}} in !HttpClient 3.x keeps a pool 
of connections. Re-use depends on exact matches of the route. Limits are 
enforced per route. In other words, the maximum connections per host are 
interpreted as maximum connections per route. If multiple proxy servers are 
available, the maximum per host can be exceeded by using different routes to 
the target host. This has not been a problem in the past.
  [[BR]]
- The {{{HttpMethodDirector}}} in !HttpClient 3.x will use an allocated 
connection for different targets when following redirects, thereby evading the 
limit per host (or route) enforced by the connection manager.
+ Once a connection is obtained from the manager, it can be used for any 
target. As long as it is allocated it will count as a connection along the 
route for which it was obtained.
+ The {{{HttpMethodDirector}}} takes care to use connections only for the route 
for which they are obtained.
+ When following redirects on a different route, the connection is released and 
a new one gets allocated.
  
  A more sophisticated connection manager could provide performance benefits 
for !HttpClient 4.x. In particular, re-use of plain connections to a proxy for 
all routes via that proxy has potential. Even more so if the proxy requires 
NTLM authentication and the previous authentication state can be re-used.
  [[BR]]
- Correct enforcement of connections per host limits on a per-host basis in the 
presence of redirects requires changes to both the connection management and 
the redirect handling logic.
+ Adherence to connections per host limits on a per-host basis requires changes 
to the connection management logic.
+ Enforcement of connection usage exclusively along the advertised route is 
only required when dealing with misbehaving applications. 
  
  
  = Design Ideas =

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to