Class BackoffStrategyExec

java.lang.Object
org.apache.hc.client5.http.impl.classic.BackoffStrategyExec
All Implemented Interfaces:
ExecChainHandler

@Contract(threading=STATELESS) public final class BackoffStrategyExec extends Object implements ExecChainHandler
Request execution handler in the classic request execution chain that is responsible for execution of an ConnectionBackoffStrategy.

Further responsibilities such as communication with the opposite endpoint is delegated to the next executor in the request execution chain.

Since:
4.3
  • Field Details

    • LOG

      private static final org.slf4j.Logger LOG
    • connectionBackoffStrategy

      private final ConnectionBackoffStrategy connectionBackoffStrategy
    • backoffManager

      private final BackoffManager backoffManager
  • Constructor Details

    • BackoffStrategyExec

      public BackoffStrategyExec(ConnectionBackoffStrategy connectionBackoffStrategy, BackoffManager backoffManager)
      Constructs a BackoffStrategyExec with the specified ConnectionBackoffStrategy and BackoffManager.
      Parameters:
      connectionBackoffStrategy - the strategy to determine whether to backoff based on the response or exception
      backoffManager - the manager responsible for applying backoff and probing actions to the HTTP routes
  • Method Details

    • execute

      public org.apache.hc.core5.http.ClassicHttpResponse execute(org.apache.hc.core5.http.ClassicHttpRequest request, ExecChain.Scope scope, ExecChain chain) throws IOException, org.apache.hc.core5.http.HttpException
      Description copied from interface: ExecChainHandler
      Executes the actual HTTP request. The handler can choose to return a response message or delegate request execution to the next element in the execution chain.
      Specified by:
      execute in interface ExecChainHandler
      Parameters:
      request - the actual request.
      scope - the execution scope .
      chain - the next element in the request execution chain.
      Throws:
      IOException
      org.apache.hc.core5.http.HttpException