Package org.apache.http.nio.protocol
Class HttpAsyncRequester
- java.lang.Object
-
- org.apache.http.nio.protocol.HttpAsyncRequester
-
@Contract(threading=IMMUTABLE_CONDITIONAL) public class HttpAsyncRequester extends java.lang.Object
HttpAsyncRequesteris a utility class that can be used in conjunction withHttpAsyncRequestExecutorto initiate execution of asynchronous HTTP requests.- Since:
- 4.2
- See Also:
HttpAsyncRequestExecutor
-
-
Constructor Summary
Constructors Constructor 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 ofHttpAsyncRequester.HttpAsyncRequester(HttpProcessor httpprocessor, ConnectionReuseStrategy reuseStrategy, HttpParams params)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <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)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>>
java.util.concurrent.Future<T>execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, ConnPool<HttpHost,E> connPool)Initiates asynchronous HTTP request execution.<T,E extends PoolEntry<HttpHost,NHttpClientConnection>>
java.util.concurrent.Future<T>execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, ConnPool<HttpHost,E> connPool, HttpContext context)Initiates asynchronous HTTP request execution.<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)Initiates asynchronous HTTP request execution.<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)Initiates asynchronous pipelined HTTP request execution.<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)Initiates asynchronous pipelined HTTP request execution.
-
-
-
Constructor Detail
-
HttpAsyncRequester
@Deprecated public HttpAsyncRequester(HttpProcessor httpprocessor, ConnectionReuseStrategy reuseStrategy, HttpParams params)
Deprecated.
-
HttpAsyncRequester
public HttpAsyncRequester(HttpProcessor httpprocessor, ConnectionReuseStrategy connReuseStrategy, ExceptionLogger exceptionLogger)
Creates new instance ofHttpAsyncRequester.- Parameters:
httpprocessor- HTTP protocol processor.connReuseStrategy- Connection re-use strategy. IfnullDefaultConnectionReuseStrategy.INSTANCEwill be used.exceptionLogger- Exception logger. IfnullExceptionLogger.NO_OPwill be used. Please note that the exception logger will be only used to log I/O exception thrown while closingCloseableobjects (such asHttpConnection).- Since:
- 4.4
-
HttpAsyncRequester
public HttpAsyncRequester(HttpProcessor httpprocessor, ConnectionReuseStrategy connReuseStrategy)
Creates new instance of HttpAsyncRequester.- Since:
- 4.3
-
HttpAsyncRequester
public HttpAsyncRequester(HttpProcessor httpprocessor)
Creates new instance of HttpAsyncRequester.- Since:
- 4.3
-
-
Method Detail
-
execute
public <T> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, NHttpClientConnection conn, HttpContext context, FutureCallback<T> callback)
Initiates asynchronous HTTP request execution.- Type Parameters:
T- the result type of request execution.- Parameters:
requestProducer- request producer.responseConsumer- response consumer.conn- underlying HTTP connection.context- HTTP contextcallback- future callback.- Returns:
- future representing pending completion of the operation.
-
execute
public <T> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, NHttpClientConnection conn, HttpContext context)
Initiates asynchronous HTTP request execution.- Type Parameters:
T- the result type of request execution.- Parameters:
requestProducer- request producer.responseConsumer- response consumer.conn- underlying HTTP connection.context- HTTP context- Returns:
- future representing pending completion of the operation.
-
execute
public <T> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, NHttpClientConnection conn)
Initiates asynchronous HTTP request execution.- Type Parameters:
T- the result type of request execution.- Parameters:
requestProducer- request producer.responseConsumer- response consumer.conn- underlying HTTP connection.- Returns:
- future representing pending completion of the operation.
-
execute
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)
Initiates asynchronous HTTP request execution.- Type Parameters:
T- the result type of request execution.E- the connection pool entry type.- Parameters:
requestProducer- request producer.responseConsumer- response consumer.connPool- pool of persistent reusable connections.context- HTTP contextcallback- future callback.- Returns:
- future representing pending completion of the operation.
-
executePipelined
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)
Initiates asynchronous pipelined HTTP request execution.- Type Parameters:
T- the result type of request execution.E- the connection pool entry type.- Parameters:
target- target host.requestProducers- list of request producers.responseConsumers- list of response consumers.connPool- pool of persistent reusable connections.context- HTTP contextcallback- future callback.- Returns:
- future representing pending completion of the operation.
- Since:
- 4.4
-
execute
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)
Initiates asynchronous HTTP request execution. This method automatically releases the given pool entry once request execution is completed (successfully or unsuccessfully).- Type Parameters:
T- the result type of request execution.E- the connection pool entry type.- Parameters:
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.- Returns:
- future representing pending completion of the operation.
- Since:
- 4.3
-
executePipelined
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)
Initiates asynchronous pipelined HTTP request execution. This method automatically releases the given pool entry once request execution is completed (successfully or unsuccessfully).- Type Parameters:
T- the result type of request execution.E- the connection pool entry type.- Parameters:
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.- Returns:
- future representing pending completion of the operation.
- Since:
- 4.4
-
execute
public <T,E extends PoolEntry<HttpHost,NHttpClientConnection>> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, ConnPool<HttpHost,E> connPool, HttpContext context)
Initiates asynchronous HTTP request execution.- Type Parameters:
T- the result type of request execution.E- the connection pool entry type.- Parameters:
requestProducer- request producer.responseConsumer- response consumer.connPool- pool of persistent reusable connections.context- HTTP context- Returns:
- future representing pending completion of the operation.
-
execute
public <T,E extends PoolEntry<HttpHost,NHttpClientConnection>> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, ConnPool<HttpHost,E> connPool)
Initiates asynchronous HTTP request execution.- Type Parameters:
T- the result type of request execution.E- the connection pool entry type.- Parameters:
requestProducer- request producer.responseConsumer- response consumer.connPool- pool of persistent reusable connections.- Returns:
- future representing pending completion of the operation.
-
-