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) doubledelayFactor(package private) java.time.DurationdelayMax(package private) java.time.DurationdelayMin(package private) EventListener<ExecutionAttemptedEvent<R>>failedAttemptListener(package private) java.time.Durationjitter(package private) doublejitterFactor(package private) java.time.DurationmaxDelay(package private) java.time.DurationmaxDuration(package private) intmaxRetries(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 booleanallowsRetries()Returns whether the policy config allows retries according to the configuredmaxRetriesandmaxDuration.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.DurationgetDelay()Returns the delay between retries, elseDuration.ZEROif delays have not been configured.doublegetDelayFactor()Returns the delay factor for backoff retries.java.time.DurationgetDelayMax()Returns the max random delay between retries, elsenullif random delays have not been configured.java.time.DurationgetDelayMin()Returns the min random delay between retries, elsenullif random delays have not been configured.EventListener<ExecutionAttemptedEvent<R>>getFailedAttemptListener()Returns the failed attempt event listener.java.time.DurationgetJitter()Returns the jitter, elsenullif none has been configured.doublegetJitterFactor()Returns the jitter factor, else0.0if none has been configured.intgetMaxAttempts()Returns the max number of execution attempts to perform.java.time.DurationgetMaxDelay()Returns the max delay between backoff retries, elsenullif backoff delays have not been configured.java.time.DurationgetMaxDuration()Returns the max duration to perform retries for.intgetMaxRetries()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 configuredmaxRetriesandmaxDuration.
-
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.ZEROif delays have not been configured. If backoff delays are configured, this value will represent the initial delay.- Overrides:
getDelayin 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, elsenullif random delays have not been configured.
-
getDelayMax
public java.time.Duration getDelayMax()
Returns the max random delay between retries, elsenullif 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, elsenullif none has been configured.- See Also:
RetryPolicyBuilder.withJitter(Duration)
-
getJitterFactor
public double getJitterFactor()
Returns the jitter factor, else0.0if 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-1represents no limit. Defaults to3.
-
getMaxDelay
public java.time.Duration getMaxDelay()
Returns the max delay between backoff retries, elsenullif 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-1represents 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.
-
-