@Contract(threading=IMMUTABLE_CONDITIONAL) public class HttpAsyncRequester extends java.lang.Object
HttpAsyncRequester is a utility class that can be used
in conjunction with HttpAsyncRequestExecutor to initiate execution
of asynchronous HTTP requests.HttpAsyncRequestExecutor| Modifier and Type | Class and Description |
|---|---|
(package private) class |
HttpAsyncRequester.ConnPipelinedRequestCallback<T,E extends PoolEntry<HttpHost,NHttpClientConnection>> |
(package private) class |
HttpAsyncRequester.ConnRequestCallback<T,E extends PoolEntry<HttpHost,NHttpClientConnection>> |
(package private) class |
HttpAsyncRequester.RequestExecutionCallback<T,E extends PoolEntry<HttpHost,NHttpClientConnection>> |
| Modifier and Type | Field and Description |
|---|---|
private ConnectionReuseStrategy |
connReuseStrategy |
private ExceptionLogger |
exceptionLogger |
private HttpProcessor |
httpprocessor |
| Constructor and Description |
|---|
HttpAsyncRequester(HttpProcessor httpprocessor)
Creates new instance of HttpAsyncRequester.
|
HttpAsyncRequester(HttpProcessor httpprocessor,
ConnectionReuseStrategy connReuseStrategy)
Creates new instance of HttpAsyncRequester.
|
HttpAsyncRequester(HttpProcessor httpprocessor,
ConnectionReuseStrategy connReuseStrategy,
ExceptionLogger exceptionLogger)
Creates new instance of
HttpAsyncRequester. |
HttpAsyncRequester(HttpProcessor httpprocessor,
ConnectionReuseStrategy reuseStrategy,
HttpParams params)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
private void |
close(java.io.Closeable closeable) |
<T,E extends PoolEntry<HttpHost,NHttpClientConnection>> |
execute(HttpAsyncRequestProducer requestProducer,
HttpAsyncResponseConsumer<T> responseConsumer,
ConnPool<HttpHost,E> connPool)
Initiates asynchronous HTTP request execution.
|
<T,E extends PoolEntry<HttpHost,NHttpClientConnection>> |
execute(HttpAsyncRequestProducer requestProducer,
HttpAsyncResponseConsumer<T> responseConsumer,
ConnPool<HttpHost,E> connPool,
HttpContext context)
Initiates asynchronous HTTP request execution.
|
<T,E extends PoolEntry<HttpHost,NHttpClientConnection>> |
execute(HttpAsyncRequestProducer requestProducer,
HttpAsyncResponseConsumer<T> responseConsumer,
ConnPool<HttpHost,E> connPool,
HttpContext context,
FutureCallback<T> callback)
Initiates asynchronous HTTP request execution.
|
<T,E extends PoolEntry<HttpHost,NHttpClientConnection>> |
execute(HttpAsyncRequestProducer requestProducer,
HttpAsyncResponseConsumer<T> responseConsumer,
E poolEntry,
ConnPool<HttpHost,E> connPool,
HttpContext context,
FutureCallback<T> callback)
Initiates asynchronous HTTP request execution.
|
<T> java.util.concurrent.Future<T> |
execute(HttpAsyncRequestProducer requestProducer,
HttpAsyncResponseConsumer<T> responseConsumer,
NHttpClientConnection conn)
Initiates asynchronous HTTP request execution.
|
<T> java.util.concurrent.Future<T> |
execute(HttpAsyncRequestProducer requestProducer,
HttpAsyncResponseConsumer<T> responseConsumer,
NHttpClientConnection conn,
HttpContext context)
Initiates asynchronous HTTP request execution.
|
<T> java.util.concurrent.Future<T> |
execute(HttpAsyncRequestProducer requestProducer,
HttpAsyncResponseConsumer<T> responseConsumer,
NHttpClientConnection conn,
HttpContext context,
FutureCallback<T> callback)
Initiates asynchronous HTTP request execution.
|
<T,E extends PoolEntry<HttpHost,NHttpClientConnection>> |
executePipelined(HttpHost target,
java.util.List<? extends HttpAsyncRequestProducer> requestProducers,
java.util.List<? extends HttpAsyncResponseConsumer<T>> responseConsumers,
ConnPool<HttpHost,E> connPool,
HttpContext context,
FutureCallback<java.util.List<T>> callback)
Initiates asynchronous pipelined HTTP request execution.
|
<T,E extends PoolEntry<HttpHost,NHttpClientConnection>> |
executePipelined(java.util.List<HttpAsyncRequestProducer> requestProducers,
java.util.List<HttpAsyncResponseConsumer<T>> responseConsumers,
E poolEntry,
ConnPool<HttpHost,E> connPool,
HttpContext context,
FutureCallback<java.util.List<T>> callback)
Initiates asynchronous pipelined HTTP request execution.
|
private void |
initExecution(HttpAsyncClientExchangeHandler handler,
NHttpClientConnection conn) |
protected void |
log(java.lang.Exception ex)
This method can be used to log I/O exception thrown while closing
Closeable objects (such as
HttpConnection}). |
private final HttpProcessor httpprocessor
private final ConnectionReuseStrategy connReuseStrategy
private final ExceptionLogger exceptionLogger
@Deprecated public HttpAsyncRequester(HttpProcessor httpprocessor, ConnectionReuseStrategy reuseStrategy, HttpParams params)
HttpAsyncRequester(HttpProcessor,
ConnectionReuseStrategy)public HttpAsyncRequester(HttpProcessor httpprocessor, ConnectionReuseStrategy connReuseStrategy, ExceptionLogger exceptionLogger)
HttpAsyncRequester.httpprocessor - HTTP protocol processor.connReuseStrategy - Connection re-use strategy. If null
DefaultConnectionReuseStrategy.INSTANCE will be used.exceptionLogger - Exception logger. If null
ExceptionLogger.NO_OP will be used. Please note that the exception
logger will be only used to log I/O exception thrown while closing
Closeable objects (such as HttpConnection).public HttpAsyncRequester(HttpProcessor httpprocessor, ConnectionReuseStrategy connReuseStrategy)
public HttpAsyncRequester(HttpProcessor httpprocessor)
public <T> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, NHttpClientConnection conn, HttpContext context, FutureCallback<T> callback)
T - the result type of request execution.requestProducer - request producer.responseConsumer - response consumer.conn - underlying HTTP connection.context - HTTP contextcallback - future callback.private void initExecution(HttpAsyncClientExchangeHandler handler, NHttpClientConnection conn)
public <T> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, NHttpClientConnection conn, HttpContext context)
T - the result type of request execution.requestProducer - request producer.responseConsumer - response consumer.conn - underlying HTTP connection.context - HTTP contextpublic <T> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, NHttpClientConnection conn)
T - the result type of request execution.requestProducer - request producer.responseConsumer - response consumer.conn - underlying HTTP connection.public <T,E extends PoolEntry<HttpHost,NHttpClientConnection>> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, ConnPool<HttpHost,E> connPool, HttpContext context, FutureCallback<T> callback)
T - the result type of request execution.E - the connection pool entry type.requestProducer - request producer.responseConsumer - response consumer.connPool - pool of persistent reusable connections.context - HTTP contextcallback - future callback.public <T,E extends PoolEntry<HttpHost,NHttpClientConnection>> java.util.concurrent.Future<java.util.List<T>> executePipelined(HttpHost target, java.util.List<? extends HttpAsyncRequestProducer> requestProducers, java.util.List<? extends HttpAsyncResponseConsumer<T>> responseConsumers, ConnPool<HttpHost,E> connPool, HttpContext context, FutureCallback<java.util.List<T>> callback)
T - the result type of request execution.E - the connection pool entry type.target - target host.requestProducers - list of request producers.responseConsumers - list of response consumers.connPool - pool of persistent reusable connections.context - HTTP contextcallback - future callback.public <T,E extends PoolEntry<HttpHost,NHttpClientConnection>> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, E poolEntry, ConnPool<HttpHost,E> connPool, HttpContext context, FutureCallback<T> callback)
T - the result type of request execution.E - the connection pool entry type.requestProducer - request producer.responseConsumer - response consumer.poolEntry - leased pool entry. It will be automatically released
back to the pool when execution is completed.connPool - pool of persistent reusable connections.context - HTTP contextcallback - future callback.public <T,E extends PoolEntry<HttpHost,NHttpClientConnection>> java.util.concurrent.Future<java.util.List<T>> executePipelined(java.util.List<HttpAsyncRequestProducer> requestProducers, java.util.List<HttpAsyncResponseConsumer<T>> responseConsumers, E poolEntry, ConnPool<HttpHost,E> connPool, HttpContext context, FutureCallback<java.util.List<T>> callback)
T - the result type of request execution.E - the connection pool entry type.requestProducers - list of request producers.responseConsumers - list of response consumers.poolEntry - leased pool entry. It will be automatically released
back to the pool when execution is completed.connPool - pool of persistent reusable connections.context - HTTP contextcallback - future callback.public <T,E extends PoolEntry<HttpHost,NHttpClientConnection>> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, ConnPool<HttpHost,E> connPool, HttpContext context)
T - the result type of request execution.E - the connection pool entry type.requestProducer - request producer.responseConsumer - response consumer.connPool - pool of persistent reusable connections.context - HTTP contextpublic <T,E extends PoolEntry<HttpHost,NHttpClientConnection>> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, ConnPool<HttpHost,E> connPool)
T - the result type of request execution.E - the connection pool entry type.requestProducer - request producer.responseConsumer - response consumer.connPool - pool of persistent reusable connections.protected void log(java.lang.Exception ex)
Closeable objects (such as
HttpConnection}).ex - I/O exception thrown by Closeable.close()private void close(java.io.Closeable closeable)