Class CloseableHttpAsyncClient

java.lang.Object
org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient
All Implemented Interfaces:
Closeable, AutoCloseable, HttpAsyncClient, org.apache.hc.core5.io.ModalCloseable
Direct Known Subclasses:
AbstractHttpAsyncClientBase

@Contract(threading=STATELESS) public abstract class CloseableHttpAsyncClient extends Object implements HttpAsyncClient, org.apache.hc.core5.io.ModalCloseable
Base implementation of HttpAsyncClient that also implements ModalCloseable.
Since:
5.0
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract void
    awaitShutdown(org.apache.hc.core5.util.TimeValue waitTime)
     
    protected abstract <T> Future<T>
    doExecute(org.apache.hc.core5.http.HttpHost target, org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)
     
    execute(SimpleHttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<SimpleHttpResponse> callback)
     
    execute(SimpleHttpRequest request, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<SimpleHttpResponse> callback)
     
    final <T> Future<T>
    execute(org.apache.hc.core5.http.HttpHost target, org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)
     
    final <T> Future<T>
    execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.concurrent.FutureCallback<T> callback)
     
    final <T> Future<T>
    execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)
    Initiates asynchronous HTTP request execution using the given context.
    final <T> Future<T>
    execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)
     
    abstract org.apache.hc.core5.reactor.IOReactorStatus
     
    abstract void
     
    abstract void
    register(String hostname, String uriPattern, org.apache.hc.core5.function.Supplier<org.apache.hc.core5.http.nio.AsyncPushConsumer> supplier)
    Deprecated.
    Use RequestRouter at the construction time
    final void
    register(String uriPattern, org.apache.hc.core5.function.Supplier<org.apache.hc.core5.http.nio.AsyncPushConsumer> supplier)
    Deprecated.
    Use RequestRouter at the construction time
    abstract void
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface Closeable

    close

    Methods inherited from interface org.apache.hc.core5.io.ModalCloseable

    close
  • Constructor Details

    • CloseableHttpAsyncClient

      public CloseableHttpAsyncClient()
  • Method Details

    • start

      public abstract void start()
    • getStatus

      public abstract org.apache.hc.core5.reactor.IOReactorStatus getStatus()
    • awaitShutdown

      public abstract void awaitShutdown(org.apache.hc.core5.util.TimeValue waitTime) throws InterruptedException
      Throws:
      InterruptedException
    • initiateShutdown

      public abstract void initiateShutdown()
    • doExecute

      protected abstract <T> Future<T> doExecute(org.apache.hc.core5.http.HttpHost target, org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)
    • execute

      public final <T> Future<T> execute(org.apache.hc.core5.http.HttpHost target, org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)
    • execute

      public final <T> Future<T> execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)
      Description copied from interface: HttpAsyncClient
      Initiates asynchronous HTTP request execution using the given 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.

      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
      Type Parameters:
      T - the result type of request execution.
      Parameters:
      requestProducer - request producer callback.
      responseConsumer - response consumer callback.
      pushHandlerFactory - the push handler factory. Optional and may be null.
      context - HTTP context. Optional and may be null.
      callback - future callback. Optional and may be null.
      Returns:
      future representing pending completion of the operation.
    • execute

      public final <T> Future<T> execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)
    • execute

      public final <T> Future<T> execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.concurrent.FutureCallback<T> callback)
    • execute

      public final Future<SimpleHttpResponse> execute(SimpleHttpRequest request, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<SimpleHttpResponse> callback)
    • execute

      public final Future<SimpleHttpResponse> execute(SimpleHttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<SimpleHttpResponse> callback)
    • register

      @Deprecated public abstract void register(String hostname, String uriPattern, org.apache.hc.core5.function.Supplier<org.apache.hc.core5.http.nio.AsyncPushConsumer> supplier)
      Deprecated.
      Use RequestRouter at the construction time
    • register

      @Deprecated public final void register(String uriPattern, org.apache.hc.core5.function.Supplier<org.apache.hc.core5.http.nio.AsyncPushConsumer> supplier)
      Deprecated.
      Use RequestRouter at the construction time