Class CloseableHttpAsyncClient

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, HttpAsyncClient
    Direct Known Subclasses:
    CloseableHttpPipeliningClient

    @Contract(threading=SAFE)
    public abstract class CloseableHttpAsyncClient
    extends java.lang.Object
    implements HttpAsyncClient, java.io.Closeable
    Base implementation of HttpAsyncClient that also implements Closeable.
    Since:
    4.0
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      private org.apache.http.HttpHost determineTarget​(org.apache.http.client.methods.HttpUriRequest request)  
      java.util.concurrent.Future<org.apache.http.HttpResponse> execute​(org.apache.http.client.methods.HttpUriRequest request, org.apache.http.concurrent.FutureCallback<org.apache.http.HttpResponse> callback)
      Initiates asynchronous HTTP request execution.
      java.util.concurrent.Future<org.apache.http.HttpResponse> execute​(org.apache.http.client.methods.HttpUriRequest request, org.apache.http.protocol.HttpContext context, org.apache.http.concurrent.FutureCallback<org.apache.http.HttpResponse> callback)
      Initiates asynchronous HTTP request execution using the given context.
      java.util.concurrent.Future<org.apache.http.HttpResponse> execute​(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, org.apache.http.concurrent.FutureCallback<org.apache.http.HttpResponse> callback)
      Initiates asynchronous HTTP request execution against the given target.
      java.util.concurrent.Future<org.apache.http.HttpResponse> execute​(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, org.apache.http.protocol.HttpContext context, org.apache.http.concurrent.FutureCallback<org.apache.http.HttpResponse> callback)
      Initiates asynchronous HTTP request execution against the given target using the given context.
      <T> java.util.concurrent.Future<T> execute​(org.apache.http.nio.protocol.HttpAsyncRequestProducer requestProducer, org.apache.http.nio.protocol.HttpAsyncResponseConsumer<T> responseConsumer, org.apache.http.concurrent.FutureCallback<T> callback)
      Initiates asynchronous HTTP request execution using the default context.
      abstract boolean isRunning()  
      abstract void start()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.io.Closeable

        close
    • Constructor Detail

      • CloseableHttpAsyncClient

        public CloseableHttpAsyncClient()
    • Method Detail

      • isRunning

        public abstract boolean isRunning()
      • start

        public abstract void start()
      • execute

        public <T> java.util.concurrent.Future<T> execute​(org.apache.http.nio.protocol.HttpAsyncRequestProducer requestProducer,
                                                          org.apache.http.nio.protocol.HttpAsyncResponseConsumer<T> responseConsumer,
                                                          org.apache.http.concurrent.FutureCallback<T> callback)
        Description copied from interface: HttpAsyncClient
        Initiates asynchronous HTTP request execution using the default context.

        The request producer passed to this method will be used to generate a request message and stream out its content without buffering it in memory. The response consumer passed to this method will be used to process a response message without buffering its content in memory.

        Specified by:
        execute in interface HttpAsyncClient
        Type Parameters:
        T - the result type of request execution.
        Parameters:
        requestProducer - request producer callback.
        responseConsumer - response consumer callaback.
        callback - future callback.
        Returns:
        future representing pending completion of the operation.
      • execute

        public java.util.concurrent.Future<org.apache.http.HttpResponse> execute​(org.apache.http.HttpHost target,
                                                                                 org.apache.http.HttpRequest request,
                                                                                 org.apache.http.protocol.HttpContext context,
                                                                                 org.apache.http.concurrent.FutureCallback<org.apache.http.HttpResponse> callback)
        Description copied from interface: HttpAsyncClient
        Initiates asynchronous HTTP request execution against the given target using the given context.

        Please note it may be unsafe to interact with the context instance while the request is still being executed.

        Specified by:
        execute in interface HttpAsyncClient
        Parameters:
        target - the target host for the request. Implementations may accept null if they can still determine a route, for example to a default target or by inspecting the request.
        request - the request to execute
        context - the context to use for the execution, or null to use the default context
        callback - future callback.
        Returns:
        future representing pending completion of the operation.
      • execute

        public java.util.concurrent.Future<org.apache.http.HttpResponse> execute​(org.apache.http.HttpHost target,
                                                                                 org.apache.http.HttpRequest request,
                                                                                 org.apache.http.concurrent.FutureCallback<org.apache.http.HttpResponse> callback)
        Description copied from interface: HttpAsyncClient
        Initiates asynchronous HTTP request execution against the given target.
        Specified by:
        execute in interface HttpAsyncClient
        Parameters:
        target - the target host for the request. Implementations may accept null if they can still determine a route, for example to a default target or by inspecting the request.
        request - the request to execute
        callback - future callback.
        Returns:
        future representing pending completion of the operation.
      • execute

        public java.util.concurrent.Future<org.apache.http.HttpResponse> execute​(org.apache.http.client.methods.HttpUriRequest request,
                                                                                 org.apache.http.concurrent.FutureCallback<org.apache.http.HttpResponse> callback)
        Description copied from interface: HttpAsyncClient
        Initiates asynchronous HTTP request execution.
        Specified by:
        execute in interface HttpAsyncClient
        Parameters:
        request - the request to execute
        callback - future callback.
        Returns:
        future representing pending completion of the operation.
      • execute

        public java.util.concurrent.Future<org.apache.http.HttpResponse> execute​(org.apache.http.client.methods.HttpUriRequest request,
                                                                                 org.apache.http.protocol.HttpContext context,
                                                                                 org.apache.http.concurrent.FutureCallback<org.apache.http.HttpResponse> callback)
        Description copied from interface: HttpAsyncClient
        Initiates asynchronous HTTP request execution using the given context.

        Please note it may be unsafe to interact with the context instance while the request is still being executed.

        Specified by:
        execute in interface HttpAsyncClient
        Parameters:
        request - the request to execute
        context - HTTP context
        callback - future callback.
        Returns:
        future representing pending completion of the operation.
      • determineTarget

        private org.apache.http.HttpHost determineTarget​(org.apache.http.client.methods.HttpUriRequest request)
                                                  throws org.apache.http.client.ClientProtocolException
        Throws:
        org.apache.http.client.ClientProtocolException