FutureRequestExecutionService (Apache HttpClient 4.5.13 API)
Date: 2020-10-03

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.http.impl.client
Class FutureRequestExecutionService

    java.lang.Object
      org.apache.http.impl.client.FutureRequestExecutionService

All Implemented Interfaces:
  Closeable

    @Contract(threading=SAFE)
    public class FutureRequestExecutionService

extends Object
implements Closeable

HttpAsyncClientWithFuture wraps calls to execute with a `HttpRequestFutureTask` and schedules them using the provided executor service. Scheduled calls may be cancelled.

Constructor Summary
`FutureRequestExecutionService(HttpClient httpclient, ExecutorService executorService)` Create a new FutureRequestExecutionService.

Method Summary
`void` | `close()`
`
`<T> HttpRequestFutureTask<T>`
` | `execute(HttpUriRequest request, org.apache.http.protocol.HttpContext context, ResponseHandler<T> responseHandler)` Schedule a request for execution.
`
`<T> HttpRequestFutureTask<T>`
` | `execute(HttpUriRequest request, org.apache.http.protocol.HttpContext context, ResponseHandler<T> responseHandler, org.apache.http.concurrent.FutureCallback<T> callback)` Schedule a request for execution.
`FutureRequestExecutionMetrics` | `metrics()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### FutureRequestExecutionService

    public FutureRequestExecutionService(HttpClient httpclient,
                                         ExecutorService executorService)

  Create a new FutureRequestExecutionService.

  Parameters:
    `httpclient` - you should tune your httpclient instance to match your needs. You should align the max number of connections in the pool and the number of threads in the executor; it doesn't make sense to have more threads than connections and if you have less connections than threads, the threads will just end up blocking on getting a connection from the pool.
    `executorService` - any executorService will do here. E.g. `Executors.newFixedThreadPool(int)`

Method Detail

### execute

    public <T> HttpRequestFutureTask<T> execute(HttpUriRequest request,
                                                org.apache.http.protocol.HttpContext context,
                                                ResponseHandler<T> responseHandler)

  Schedule a request for execution.

  Type Parameters:
    `T` -
  Parameters:
    `request` - request to execute
    `responseHandler` - handler that will process the response.
  Returns:
    HttpAsyncClientFutureTask for the scheduled request.

### execute

    public <T> HttpRequestFutureTask<T> execute(HttpUriRequest request,
                                                org.apache.http.protocol.HttpContext context,
                                                ResponseHandler<T> responseHandler,
                                                org.apache.http.concurrent.FutureCallback<T> callback)

  Schedule a request for execution.

  Type Parameters:
    `T` -
  Parameters:
    `request` - request to execute
    `context` - optional context; use null if not needed.
    `responseHandler` - handler that will process the response.
    `callback` - callback handler that will be called when the request is scheduled, started, completed, failed, or cancelled.
  Returns:
    HttpAsyncClientFutureTask for the scheduled request.

### metrics

    public FutureRequestExecutionMetrics metrics()

  Returns:
    metrics gathered for this instance.
  See Also:
    `FutureRequestExecutionMetrics`

### close

    public void close()
               throws IOException

  Specified by:
    `close` in interface `Closeable`
  Throws:
    `IOException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 1999–2020 The Apache Software Foundation. All rights reserved.