Class BackoffStrategyExec

  • All Implemented Interfaces:
    ExecChainHandler

    @Contract(threading=STATELESS)
    public final class BackoffStrategyExec
    extends java.lang.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
    • Constructor Detail

      • 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 Detail

      • execute

        public org.apache.hc.core5.http.ClassicHttpResponse execute​(org.apache.hc.core5.http.ClassicHttpRequest request,
                                                                    ExecChain.Scope scope,
                                                                    ExecChain chain)
                                                             throws java.io.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:
        java.io.IOException
        org.apache.hc.core5.http.HttpException