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
HttpAsyncRequester
is a utility class that can be used in conjunction withHttpAsyncRequestExecutor
to 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. Ifnull
DefaultConnectionReuseStrategy.INSTANCE
will be used.exceptionLogger
- Exception logger. Ifnull
ExceptionLogger.NO_OP
will be used. Please note that the exception logger will be only used to log I/O exception thrown while closingCloseable
objects (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.
-
-