Package org.zalando.fahrschein
Class ExponentialBackoffStrategy
java.lang.Object
org.zalando.fahrschein.ExponentialBackoffStrategy
- All Implemented Interfaces:
BackoffStrategy
- Direct Known Subclasses:
EqualJitterBackoffStrategy,FullJitterBackoffStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doublestatic final intstatic final long -
Constructor Summary
ConstructorsModifierConstructorDescriptionExponentialBackoffStrategy(int initialDelay, double backoffFactor, long maxDelay, int maxRetries) protected -
Method Summary
Modifier and TypeMethodDescriptionprotected longcalculateDelay(double count) <T> Tcall(int initialExceptionCount, IOException initialException, IOCallable<T> callable) withMaxRetries(int maxRetries)
-
Field Details
-
DEFAULT_INITIAL_DELAY
public static final int DEFAULT_INITIAL_DELAY- See Also:
-
DEFAULT_BACKOFF_FACTOR
public static final double DEFAULT_BACKOFF_FACTOR- See Also:
-
DEFAULT_MAX_DELAY
public static final long DEFAULT_MAX_DELAY- See Also:
-
-
Constructor Details
-
ExponentialBackoffStrategy
public ExponentialBackoffStrategy() -
ExponentialBackoffStrategy
public ExponentialBackoffStrategy(int initialDelay, double backoffFactor, long maxDelay, int maxRetries) -
ExponentialBackoffStrategy
-
-
Method Details
-
withMaxRetries
-
calculateDelay
protected long calculateDelay(double count) -
call
public <T> T call(int initialExceptionCount, IOException initialException, IOCallable<T> callable) throws BackoffException, InterruptedException - Specified by:
callin interfaceBackoffStrategy- Throws:
BackoffExceptionInterruptedException
-