public class MultiThreadedHttpConnectionManager extends Object implements HttpConnectionManager
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_MAX_HOST_CONNECTIONS
The default maximum number of connections allowed per host
|
static int |
DEFAULT_MAX_TOTAL_CONNECTIONS
The default maximum number of connections allowed overall
|
Constructor and Description |
---|
MultiThreadedHttpConnectionManager()
No-args constructor
|
Modifier and Type | Method and Description |
---|---|
void |
closeIdleConnections(long idleTimeout)
Closes connections that have been idle for at least the given amount of time.
|
void |
deleteClosedConnections()
Deletes all closed connections.
|
HttpConnection |
getConnection(HostConfiguration hostConfiguration)
Gets an HttpConnection for a given host configuration.
|
HttpConnection |
getConnection(HostConfiguration hostConfiguration,
long timeout)
Deprecated.
Use #getConnectionWithTimeout(HostConfiguration, long)
|
int |
getConnectionsInPool()
Gets the total number of pooled connections.
|
int |
getConnectionsInPool(HostConfiguration hostConfiguration)
Gets the total number of pooled connections for the given host configuration.
|
int |
getConnectionsInUse()
Deprecated.
|
int |
getConnectionsInUse(HostConfiguration hostConfiguration)
Deprecated.
|
HttpConnection |
getConnectionWithTimeout(HostConfiguration hostConfiguration,
long timeout)
Gets a connection or waits if one is not available.
|
int |
getMaxConnectionsPerHost()
|
int |
getMaxTotalConnections()
|
HttpConnectionManagerParams |
getParams()
Returns
parameters associated
with this connection manager. |
boolean |
isConnectionStaleCheckingEnabled()
|
void |
releaseConnection(HttpConnection conn)
Make the given HttpConnection available for use by other requests.
|
void |
setConnectionStaleCheckingEnabled(boolean connectionStaleCheckingEnabled)
|
void |
setMaxConnectionsPerHost(int maxHostConnections)
|
void |
setMaxTotalConnections(int maxTotalConnections)
|
void |
setParams(HttpConnectionManagerParams params)
Assigns
parameters for this
connection manager. |
void |
shutdown()
Shuts down the connection manager and releases all resources.
|
static void |
shutdownAll()
Shuts down and cleans up resources used by all instances of
MultiThreadedHttpConnectionManager.
|
public static final int DEFAULT_MAX_HOST_CONNECTIONS
public static final int DEFAULT_MAX_TOTAL_CONNECTIONS
public MultiThreadedHttpConnectionManager()
public static void shutdownAll()
shutdown()
is called on all live instances of
MultiThreadedHttpConnectionManager.shutdown()
public void shutdown()
The connection manager can no longer be used once shut down.
Calling this method more than once will have no effect.
public boolean isConnectionStaleCheckingEnabled()
true
if stale checking will be enabled on HttpConnectionsHttpConnection.isStaleCheckingEnabled()
public void setConnectionStaleCheckingEnabled(boolean connectionStaleCheckingEnabled)
HttpConnectionParams.setStaleCheckingEnabled(boolean)
,
HttpConnectionManager.getParams()
.connectionStaleCheckingEnabled
- true
if stale checking will be enabled
on HttpConnectionsHttpConnection.setStaleCheckingEnabled(boolean)
public void setMaxConnectionsPerHost(int maxHostConnections)
HttpConnectionManagerParams.setDefaultMaxConnectionsPerHost(int)
,
HttpConnectionManager.getParams()
.maxHostConnections
- the number of connections allowed for each
hostConfigurationpublic int getMaxConnectionsPerHost()
HttpConnectionManagerParams.getDefaultMaxConnectionsPerHost()
,
HttpConnectionManager.getParams()
.public void setMaxTotalConnections(int maxTotalConnections)
HttpConnectionManagerParams.setMaxTotalConnections(int)
,
HttpConnectionManager.getParams()
.maxTotalConnections
- the maximum number of connections allowedpublic int getMaxTotalConnections()
HttpConnectionManagerParams.getMaxTotalConnections()
,
HttpConnectionManager.getParams()
.public HttpConnection getConnection(HostConfiguration hostConfiguration)
HttpConnectionManager
getConnection
in interface HttpConnectionManager
hostConfiguration
- the host configuration to use to configure the
connectionHttpConnectionManager.getConnection(HostConfiguration)
public HttpConnection getConnectionWithTimeout(HostConfiguration hostConfiguration, long timeout) throws ConnectionPoolTimeoutException
getConnectionWithTimeout
in interface HttpConnectionManager
hostConfiguration
- The host configuration specifying the connection
details.timeout
- the number of milliseconds to wait for a connection, 0 to
wait indefinitelyHttpException
- if a connection does not become available in
'timeout' millisecondsConnectionPoolTimeoutException
- if no connection becomes available before the
timeout expiresHttpConnection.setHttpConnectionManager(HttpConnectionManager)
public HttpConnection getConnection(HostConfiguration hostConfiguration, long timeout) throws HttpException
HttpConnectionManager
getConnection
in interface HttpConnectionManager
hostConfiguration
- the host configuration to use to configure the
connectiontimeout
- - the time (in milliseconds) to wait for a connection to
become available, 0 to specify an infinite timeoutHttpException
- if no connection becomes available before the
timeout expiresHttpConnectionManager.getConnection(HostConfiguration, long)
public int getConnectionsInPool(HostConfiguration hostConfiguration)
maximum number of connections per
host
.hostConfiguration
- The host configurationpublic int getConnectionsInPool()
maximum number of connections
.public int getConnectionsInUse(HostConfiguration hostConfiguration)
getConnectionsInPool(HostConfiguration)
hostConfiguration
- the key that connections are tracked onpublic int getConnectionsInUse()
getConnectionsInPool()
public void deleteClosedConnections()
HttpConnection.isOpen()
public void closeIdleConnections(long idleTimeout)
HttpConnectionManager
closeIdleConnections
in interface HttpConnectionManager
idleTimeout
- the minimum idle time, in milliseconds, for connections to be closedpublic void releaseConnection(HttpConnection conn)
releaseConnection
in interface HttpConnectionManager
conn
- the HttpConnection to make available.public HttpConnectionManagerParams getParams()
parameters
associated
with this connection manager.getParams
in interface HttpConnectionManager
HttpConnectionManagerParams
public void setParams(HttpConnectionManagerParams params)
parameters
for this
connection manager.setParams
in interface HttpConnectionManager
HttpConnectionManagerParams
Copyright © 2010 - 2020 Adobe. All Rights Reserved