HttpConnectionManager (HttpClient Library (Version 3.1))
Date: 2019-01-01

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

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `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` | `getConnection(HostConfiguration hostConfiguration, long timeout)` Deprecated. Use #getConnectionWithTimeout(HostConfiguration, long)
    `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)`

    - #### getConnection

          HttpConnection getConnection(HostConfiguration hostConfiguration,
                                       long timeout)
                                throws HttpException

      Deprecated. Use #getConnectionWithTimeout(HostConfiguration, long)
      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:
        `HttpException` - if no connection becomes available before the timeout expires
      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.
      Since:
        3.0
      See Also:
        `HttpConnectionManagerParams`

    - #### setParams

          void setParams(HttpConnectionManagerParams params)

      Assigns `parameters` for this connection manager.
      Since:
        3.0
      See Also:
        `HttpConnectionManagerParams`

Copyright (c) 1999-2005 - Apache Software Foundation