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 java.lang.Object implements ExecChainHandler
Request execution handler in the classic request execution chain that is responsible for execution of anConnectionBackoffStrategy
.Further responsibilities such as communication with the opposite endpoint is delegated to the next executor in the request execution chain.
- Since:
- 4.3
-
-
Field Summary
Fields Modifier and Type Field Description private BackoffManager
backoffManager
private ConnectionBackoffStrategy
connectionBackoffStrategy
private static org.slf4j.Logger
LOG
-
Constructor Summary
Constructors Constructor Description BackoffStrategyExec(ConnectionBackoffStrategy connectionBackoffStrategy, BackoffManager backoffManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.hc.core5.http.ClassicHttpResponse
execute(org.apache.hc.core5.http.ClassicHttpRequest request, ExecChain.Scope scope, ExecChain chain)
Executes the actual HTTP request.
-
-
-
Field Detail
-
LOG
private static final org.slf4j.Logger LOG
-
connectionBackoffStrategy
private final ConnectionBackoffStrategy connectionBackoffStrategy
-
backoffManager
private final BackoffManager backoffManager
-
-
Constructor Detail
-
BackoffStrategyExec
public BackoffStrategyExec(ConnectionBackoffStrategy connectionBackoffStrategy, BackoffManager backoffManager)
- Parameters:
connectionBackoffStrategy
- the strategy to determine whether to backoff based on the response or exceptionbackoffManager
- 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 interfaceExecChainHandler
- 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
-
-