Package dev.failsafe
Class RetryPolicyConfig<R>
- java.lang.Object
-
- dev.failsafe.PolicyConfig<R>
-
- dev.failsafe.FailurePolicyConfig<R>
-
- dev.failsafe.DelayablePolicyConfig<R>
-
- dev.failsafe.RetryPolicyConfig<R>
-
- Type Parameters:
R
- result type
public class RetryPolicyConfig<R> extends DelayablePolicyConfig<R>
Configuration for aRetryPolicy
.This class is threadsafe.
- See Also:
RetryPolicyBuilder
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.List<CheckedBiPredicate<R,java.lang.Throwable>>
abortConditions
(package private) EventListener<ExecutionCompletedEvent<R>>
abortListener
(package private) double
delayFactor
(package private) java.time.Duration
delayMax
(package private) java.time.Duration
delayMin
(package private) EventListener<ExecutionAttemptedEvent<R>>
failedAttemptListener
(package private) java.time.Duration
jitter
(package private) double
jitterFactor
(package private) java.time.Duration
maxDelay
(package private) java.time.Duration
maxDuration
(package private) int
maxRetries
(package private) EventListener<ExecutionCompletedEvent<R>>
retriesExceededListener
(package private) EventListener<ExecutionAttemptedEvent<R>>
retryListener
(package private) EventListener<ExecutionScheduledEvent<R>>
retryScheduledListener
-
Fields inherited from class dev.failsafe.DelayablePolicyConfig
delay, delayException, delayFn, delayResult
-
Fields inherited from class dev.failsafe.FailurePolicyConfig
exceptionsChecked, failureConditions
-
Fields inherited from class dev.failsafe.PolicyConfig
failureListener, successListener
-
-
Constructor Summary
Constructors Constructor Description RetryPolicyConfig()
RetryPolicyConfig(RetryPolicyConfig<R> config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
allowsRetries()
Returns whether the policy config allows retries according to the configuredmaxRetries
andmaxDuration
.java.util.List<CheckedBiPredicate<R,java.lang.Throwable>>
getAbortConditions()
Returns the conditions for which an execution result or exception will cause retries to be aborted.EventListener<ExecutionCompletedEvent<R>>
getAbortListener()
Returns the abort event listener.java.time.Duration
getDelay()
Returns the delay between retries, elseDuration.ZERO
if delays have not been configured.double
getDelayFactor()
Returns the delay factor for backoff retries.java.time.Duration
getDelayMax()
Returns the max random delay between retries, elsenull
if random delays have not been configured.java.time.Duration
getDelayMin()
Returns the min random delay between retries, elsenull
if random delays have not been configured.EventListener<ExecutionAttemptedEvent<R>>
getFailedAttemptListener()
Returns the failed attempt event listener.java.time.Duration
getJitter()
Returns the jitter, elsenull
if none has been configured.double
getJitterFactor()
Returns the jitter factor, else0.0
if none has been configured.int
getMaxAttempts()
Returns the max number of execution attempts to perform.java.time.Duration
getMaxDelay()
Returns the max delay between backoff retries, elsenull
if backoff delays have not been configured.java.time.Duration
getMaxDuration()
Returns the max duration to perform retries for.int
getMaxRetries()
Returns the max number of retries to perform when an execution attempt fails.EventListener<ExecutionCompletedEvent<R>>
getRetriesExceededListener()
Returns the retries exceeded event listener.EventListener<ExecutionAttemptedEvent<R>>
getRetryListener()
Returns the retry event listener.EventListener<ExecutionScheduledEvent<R>>
getRetryScheduledListener()
Returns the retry scheduled event listener.-
Methods inherited from class dev.failsafe.DelayablePolicyConfig
getDelayException, getDelayFn, getDelayResult
-
Methods inherited from class dev.failsafe.FailurePolicyConfig
getFailureConditions, isExceptionsChecked
-
Methods inherited from class dev.failsafe.PolicyConfig
getFailureListener, getSuccessListener
-
-
-
-
Field Detail
-
delayMin
java.time.Duration delayMin
-
delayMax
java.time.Duration delayMax
-
delayFactor
double delayFactor
-
maxDelay
java.time.Duration maxDelay
-
jitter
java.time.Duration jitter
-
jitterFactor
double jitterFactor
-
maxDuration
java.time.Duration maxDuration
-
maxRetries
int maxRetries
-
abortConditions
java.util.List<CheckedBiPredicate<R,java.lang.Throwable>> abortConditions
-
abortListener
EventListener<ExecutionCompletedEvent<R>> abortListener
-
failedAttemptListener
EventListener<ExecutionAttemptedEvent<R>> failedAttemptListener
-
retriesExceededListener
EventListener<ExecutionCompletedEvent<R>> retriesExceededListener
-
retryListener
EventListener<ExecutionAttemptedEvent<R>> retryListener
-
retryScheduledListener
EventListener<ExecutionScheduledEvent<R>> retryScheduledListener
-
-
Constructor Detail
-
RetryPolicyConfig
RetryPolicyConfig()
-
RetryPolicyConfig
RetryPolicyConfig(RetryPolicyConfig<R> config)
-
-
Method Detail
-
allowsRetries
public boolean allowsRetries()
Returns whether the policy config allows retries according to the configuredmaxRetries
andmaxDuration
.
-
getAbortConditions
public java.util.List<CheckedBiPredicate<R,java.lang.Throwable>> getAbortConditions()
Returns the conditions for which an execution result or exception will cause retries to be aborted.
-
getDelay
public java.time.Duration getDelay()
Returns the delay between retries, elseDuration.ZERO
if delays have not been configured. If backoff delays are configured, this value will represent the initial delay.- Overrides:
getDelay
in classDelayablePolicyConfig<R>
- See Also:
RetryPolicyBuilder.withDelay(Duration)
,RetryPolicyBuilder.withBackoff(Duration, Duration, double)
,RetryPolicyBuilder.withBackoff(Duration, Duration, double)
,RetryPolicyBuilder.withBackoff(long, long, ChronoUnit)
,RetryPolicyBuilder.withBackoff(long, long, ChronoUnit, double)
-
getDelayMin
public java.time.Duration getDelayMin()
Returns the min random delay between retries, elsenull
if random delays have not been configured.
-
getDelayMax
public java.time.Duration getDelayMax()
Returns the max random delay between retries, elsenull
if random delays have not been configured.
-
getDelayFactor
public double getDelayFactor()
Returns the delay factor for backoff retries.
-
getJitter
public java.time.Duration getJitter()
Returns the jitter, elsenull
if none has been configured.- See Also:
RetryPolicyBuilder.withJitter(Duration)
-
getJitterFactor
public double getJitterFactor()
Returns the jitter factor, else0.0
if none has been configured.- See Also:
RetryPolicyBuilder.withJitter(double)
-
getMaxAttempts
public int getMaxAttempts()
Returns the max number of execution attempts to perform. A value of-1
represents no limit. Defaults to3
.
-
getMaxDelay
public java.time.Duration getMaxDelay()
Returns the max delay between backoff retries, elsenull
if backoff delays have not been configured.
-
getMaxDuration
public java.time.Duration getMaxDuration()
Returns the max duration to perform retries for.
-
getMaxRetries
public int getMaxRetries()
Returns the max number of retries to perform when an execution attempt fails. A value of-1
represents no limit. Defaults to2
.
-
getAbortListener
public EventListener<ExecutionCompletedEvent<R>> getAbortListener()
Returns the abort event listener.
-
getFailedAttemptListener
public EventListener<ExecutionAttemptedEvent<R>> getFailedAttemptListener()
Returns the failed attempt event listener.
-
getRetriesExceededListener
public EventListener<ExecutionCompletedEvent<R>> getRetriesExceededListener()
Returns the retries exceeded event listener.
-
getRetryListener
public EventListener<ExecutionAttemptedEvent<R>> getRetryListener()
Returns the retry event listener.
-
getRetryScheduledListener
public EventListener<ExecutionScheduledEvent<R>> getRetryScheduledListener()
Returns the retry scheduled event listener.
-
-