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(org.apache.http.protocol.HttpProcessor httpprocessor)
Creates new instance of HttpAsyncRequester.HttpAsyncRequester(org.apache.http.protocol.HttpProcessor httpprocessor, org.apache.http.ConnectionReuseStrategy connReuseStrategy)
Creates new instance of HttpAsyncRequester.HttpAsyncRequester(org.apache.http.protocol.HttpProcessor httpprocessor, org.apache.http.ConnectionReuseStrategy connReuseStrategy, org.apache.http.ExceptionLogger exceptionLogger)
Creates new instance ofHttpAsyncRequester
.HttpAsyncRequester(org.apache.http.protocol.HttpProcessor httpprocessor, org.apache.http.ConnectionReuseStrategy reuseStrategy, org.apache.http.params.HttpParams params)
Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T,E extends org.apache.http.pool.PoolEntry<org.apache.http.HttpHost,NHttpClientConnection>>
java.util.concurrent.Future<T>execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, E poolEntry, org.apache.http.pool.ConnPool<org.apache.http.HttpHost,E> connPool, org.apache.http.protocol.HttpContext context, org.apache.http.concurrent.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, org.apache.http.protocol.HttpContext context)
Initiates asynchronous HTTP request execution.<T> java.util.concurrent.Future<T>
execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, NHttpClientConnection conn, org.apache.http.protocol.HttpContext context, org.apache.http.concurrent.FutureCallback<T> callback)
Initiates asynchronous HTTP request execution.<T,E extends org.apache.http.pool.PoolEntry<org.apache.http.HttpHost,NHttpClientConnection>>
java.util.concurrent.Future<T>execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, org.apache.http.pool.ConnPool<org.apache.http.HttpHost,E> connPool)
Initiates asynchronous HTTP request execution.<T,E extends org.apache.http.pool.PoolEntry<org.apache.http.HttpHost,NHttpClientConnection>>
java.util.concurrent.Future<T>execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, org.apache.http.pool.ConnPool<org.apache.http.HttpHost,E> connPool, org.apache.http.protocol.HttpContext context)
Initiates asynchronous HTTP request execution.<T,E extends org.apache.http.pool.PoolEntry<org.apache.http.HttpHost,NHttpClientConnection>>
java.util.concurrent.Future<T>execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, org.apache.http.pool.ConnPool<org.apache.http.HttpHost,E> connPool, org.apache.http.protocol.HttpContext context, org.apache.http.concurrent.FutureCallback<T> callback)
Initiates asynchronous HTTP request execution.<T,E extends org.apache.http.pool.PoolEntry<org.apache.http.HttpHost,NHttpClientConnection>>
java.util.concurrent.Future<java.util.List<T>>executePipelined(java.util.List<HttpAsyncRequestProducer> requestProducers, java.util.List<HttpAsyncResponseConsumer<T>> responseConsumers, E poolEntry, org.apache.http.pool.ConnPool<org.apache.http.HttpHost,E> connPool, org.apache.http.protocol.HttpContext context, org.apache.http.concurrent.FutureCallback<java.util.List<T>> callback)
Initiates asynchronous pipelined HTTP request execution.<T,E extends org.apache.http.pool.PoolEntry<org.apache.http.HttpHost,NHttpClientConnection>>
java.util.concurrent.Future<java.util.List<T>>executePipelined(org.apache.http.HttpHost target, java.util.List<? extends HttpAsyncRequestProducer> requestProducers, java.util.List<? extends HttpAsyncResponseConsumer<T>> responseConsumers, org.apache.http.pool.ConnPool<org.apache.http.HttpHost,E> connPool, org.apache.http.protocol.HttpContext context, org.apache.http.concurrent.FutureCallback<java.util.List<T>> callback)
Initiates asynchronous pipelined HTTP request execution.protected void
log(java.lang.Exception ex)
This method can be used to log I/O exception thrown while closingCloseable
objects (such asHttpConnection
}).
-
-
-
Constructor Detail
-
HttpAsyncRequester
@Deprecated public HttpAsyncRequester(org.apache.http.protocol.HttpProcessor httpprocessor, org.apache.http.ConnectionReuseStrategy reuseStrategy, org.apache.http.params.HttpParams params)
Deprecated.
-
HttpAsyncRequester
public HttpAsyncRequester(org.apache.http.protocol.HttpProcessor httpprocessor, org.apache.http.ConnectionReuseStrategy connReuseStrategy, org.apache.http.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(org.apache.http.protocol.HttpProcessor httpprocessor, org.apache.http.ConnectionReuseStrategy connReuseStrategy)
Creates new instance of HttpAsyncRequester.- Since:
- 4.3
-
HttpAsyncRequester
public HttpAsyncRequester(org.apache.http.protocol.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, org.apache.http.protocol.HttpContext context, org.apache.http.concurrent.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, org.apache.http.protocol.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 org.apache.http.pool.PoolEntry<org.apache.http.HttpHost,NHttpClientConnection>> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, org.apache.http.pool.ConnPool<org.apache.http.HttpHost,E> connPool, org.apache.http.protocol.HttpContext context, org.apache.http.concurrent.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 org.apache.http.pool.PoolEntry<org.apache.http.HttpHost,NHttpClientConnection>> java.util.concurrent.Future<java.util.List<T>> executePipelined(org.apache.http.HttpHost target, java.util.List<? extends HttpAsyncRequestProducer> requestProducers, java.util.List<? extends HttpAsyncResponseConsumer<T>> responseConsumers, org.apache.http.pool.ConnPool<org.apache.http.HttpHost,E> connPool, org.apache.http.protocol.HttpContext context, org.apache.http.concurrent.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 org.apache.http.pool.PoolEntry<org.apache.http.HttpHost,NHttpClientConnection>> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, E poolEntry, org.apache.http.pool.ConnPool<org.apache.http.HttpHost,E> connPool, org.apache.http.protocol.HttpContext context, org.apache.http.concurrent.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 org.apache.http.pool.PoolEntry<org.apache.http.HttpHost,NHttpClientConnection>> java.util.concurrent.Future<java.util.List<T>> executePipelined(java.util.List<HttpAsyncRequestProducer> requestProducers, java.util.List<HttpAsyncResponseConsumer<T>> responseConsumers, E poolEntry, org.apache.http.pool.ConnPool<org.apache.http.HttpHost,E> connPool, org.apache.http.protocol.HttpContext context, org.apache.http.concurrent.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 org.apache.http.pool.PoolEntry<org.apache.http.HttpHost,NHttpClientConnection>> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, org.apache.http.pool.ConnPool<org.apache.http.HttpHost,E> connPool, org.apache.http.protocol.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 org.apache.http.pool.PoolEntry<org.apache.http.HttpHost,NHttpClientConnection>> java.util.concurrent.Future<T> execute(HttpAsyncRequestProducer requestProducer, HttpAsyncResponseConsumer<T> responseConsumer, org.apache.http.pool.ConnPool<org.apache.http.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.
-
log
protected void log(java.lang.Exception ex)
This method can be used to log I/O exception thrown while closingCloseable
objects (such asHttpConnection
}).- Parameters:
ex
- I/O exception thrown byCloseable.close()
-
-