- java.lang.Object
-
- io.helidon.faulttolerance.Retry.Builder
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Retry.BuilderaddApplyOn(Class<? extends Throwable> clazz)Add a throwable to be considered a failure.Retry.BuilderaddSkipOn(Class<? extends Throwable> clazz)This throwable will not be considered retriable.Retry.BuilderapplyOn(Class<? extends Throwable>... classes)These throwables will be considered failures, and all other will not.Retrybuild()Build the instance from this builder.Retry.BuilderoverallTimeout(Duration overallTimeout)Overall timeout.Retry.BuilderretryPolicy(Retry.RetryPolicy policy)Configure a retry policy to use to calculate delays between retries.Retry.BuilderscheduledExecutor(ScheduledExecutorService scheduledExecutor)Executor service to schedule retries.Retry.BuilderskipOn(Class<? extends Throwable>... classes)These throwables will not be considered retriable, all other will.
-
-
-
Method Detail
-
build
public Retry build()
Description copied from interface:BuilderBuild the instance from this builder.
-
retryPolicy
public Retry.Builder retryPolicy(Retry.RetryPolicy policy)
Configure a retry policy to use to calculate delays between retries. Defaults to aRetry.JitterRetryPolicywith 4 calls (initial call + 3 retries), delay of 200 millis and a jitter of 50 millis.- Parameters:
policy- retry policy- Returns:
- updated builder instance
-
applyOn
public Retry.Builder applyOn(Class<? extends Throwable>... classes)
These throwables will be considered failures, and all other will not.Cannot be combined with
skipOn.- Parameters:
classes- to consider failures and trigger a retry- Returns:
- updated builder instance
-
addApplyOn
public Retry.Builder addApplyOn(Class<? extends Throwable> clazz)
Add a throwable to be considered a failure.- Parameters:
clazz- to consider failure and trigger a retry- Returns:
- updated builder instance
- See Also:
applyOn
-
skipOn
public Retry.Builder skipOn(Class<? extends Throwable>... classes)
These throwables will not be considered retriable, all other will.Cannot be combined with
applyOn.- Parameters:
classes- to skip retries- Returns:
- updated builder instance
-
addSkipOn
public Retry.Builder addSkipOn(Class<? extends Throwable> clazz)
This throwable will not be considered retriable.- Parameters:
clazz- to to skip retries- Returns:
- updated builder instance
-
scheduledExecutor
public Retry.Builder scheduledExecutor(ScheduledExecutorService scheduledExecutor)
Executor service to schedule retries. By default uses an executor configured onFaultTolerance.scheduledExecutor(java.util.function.Supplier).- Parameters:
scheduledExecutor- executor to use- Returns:
- updated builder instance
-
overallTimeout
public Retry.Builder overallTimeout(Duration overallTimeout)
Overall timeout. When overall timeout is reached, execution terminates (even if the retry policy was not exhausted).- Parameters:
overallTimeout- an overall timeout- Returns:
- updated builder instance
-
-