org.apache.commons.httpclient
Interface HttpConnectionManager

All Known Implementing Classes:
MultiThreadedHttpConnectionManager, SimpleHttpConnectionManager

public interface HttpConnectionManager

An interface for classes that manage HttpConnections.

Since:
2.0
Author:
Michael Becke, Mike Bowler, Oleg Kalnichevski
See Also:
HttpConnection, HttpClient.HttpClient(HttpConnectionManager)

Method Summary
 void closeIdleConnections(long idleTimeout)
          Closes connections that have been idle for at least the given amount of time.
 HttpConnection getConnection(HostConfiguration hostConfiguration)
          Gets an HttpConnection for a given host configuration.
 HttpConnection getConnectionWithTimeout(HostConfiguration hostConfiguration, long timeout)
          Gets an HttpConnection for a given host configuration.
 HttpConnectionManagerParams getParams()
          Returns parameters associated with this connection manager.
 void releaseConnection(HttpConnection conn)
          Releases the given HttpConnection for use by other requests.
 void setParams(HttpConnectionManagerParams params)
          Assigns parameters for this connection manager.
 

Method Detail

getConnection

HttpConnection getConnection(HostConfiguration hostConfiguration)
Gets an HttpConnection for a given host configuration. If a connection is not available this method will block until one is. The connection manager should be registered with any HttpConnection that is created.

Parameters:
hostConfiguration - the host configuration to use to configure the connection
Returns:
an HttpConnection for the given configuration
See Also:
HttpConnection.setHttpConnectionManager(HttpConnectionManager)

getConnectionWithTimeout

HttpConnection getConnectionWithTimeout(HostConfiguration hostConfiguration,
                                        long timeout)
                                        throws ConnectionPoolTimeoutException
Gets an HttpConnection for a given host configuration. If a connection is not available, this method will block for at most the specified number of milliseconds or until a connection becomes available. The connection manager should be registered with any HttpConnection that is created.

Parameters:
hostConfiguration - the host configuration to use to configure the connection
timeout - - the time (in milliseconds) to wait for a connection to become available, 0 to specify an infinite timeout
Returns:
an HttpConnection for the given configuraiton
Throws:
ConnectionPoolTimeoutException - if no connection becomes available before the timeout expires
Since:
3.0
See Also:
HttpConnection.setHttpConnectionManager(HttpConnectionManager)

releaseConnection

void releaseConnection(HttpConnection conn)
Releases the given HttpConnection for use by other requests.

Parameters:
conn - - The HttpConnection to make available.

closeIdleConnections

void closeIdleConnections(long idleTimeout)
Closes connections that have been idle for at least the given amount of time. Only connections that are currently owned, not checked out, are subject to idle timeouts.

Parameters:
idleTimeout - the minimum idle time, in milliseconds, for connections to be closed
Since:
3.0

getParams

HttpConnectionManagerParams getParams()
Returns parameters associated with this connection manager.

Returns:
all associated parameters
Since:
3.0
See Also:
HttpConnectionManagerParams

setParams

void setParams(HttpConnectionManagerParams params)
Assigns parameters for this connection manager.

Parameters:
params - params to set
Since:
3.0
See Also:
HttpConnectionManagerParams


Copyright (c) 1999-2005 - Apache Software Foundation