java.lang.Object
io.helidon.faulttolerance.Retry.Builder
- All Implemented Interfaces:
Builder<Retry.Builder,
,Retry> Supplier<Retry>
- Enclosing interface:
- Retry
Fluent API builder for
Retry
.-
Method Summary
Modifier and TypeMethodDescriptionaddApplyOn
(Class<? extends Throwable> clazz) Add a throwable to be considered a failure.This throwable will not be considered retriable.final Retry.Builder
These throwables will be considered failures, and all other will not.build()
Build the instance from this builder.cancelSource
(boolean cancelSource) Policy to cancel any source stage if the value return byFtHandler.invoke(java.util.function.Supplier<? extends java.util.concurrent.CompletionStage<T>>)
is cancelled.Load all properties for this circuit breaker from configuration.A name assigned for debugging, error reporting or configuration purposes.overallTimeout
(Duration overallTimeout) Overall timeout.retryPolicy
(Retry.RetryPolicy policy) Configure a retry policy to use to calculate delays between retries.scheduledExecutor
(ScheduledExecutorService scheduledExecutor) Executor service to schedule retries.final Retry.Builder
These throwables will not be considered retriable, all other will.
-
Method Details
-
build
Description copied from interface:Builder
Build the instance from this builder.- Specified by:
build
in interfaceBuilder<Retry.Builder,
Retry> - Returns:
- instance of the built type
-
retryPolicy
Configure a retry policy to use to calculate delays between retries. Defaults to aRetry.JitterRetryPolicy
with 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
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
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
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
This throwable will not be considered retriable.- Parameters:
clazz
- to to skip retries- Returns:
- updated builder instance
-
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
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
-
name
A name assigned for debugging, error reporting or configuration purposes.- Parameters:
name
- the name- Returns:
- updated builder instance
-
cancelSource
Policy to cancel any source stage if the value return byFtHandler.invoke(java.util.function.Supplier<? extends java.util.concurrent.CompletionStage<T>>)
is cancelled. Default istrue
; mostly used by FT MP to change default.- Parameters:
cancelSource
- cancel source policy- Returns:
- updated builder instance
-
config
Load all properties for this circuit breaker from configuration.
Configuration key default value description overall-timeout 1 second Timeout for overall execution name Retry-N Name used for debugging cancel-source true Cancel task source if task is cancelled delaying-retry-policy N/A A delaying retry policy jitter-retry-policy Policy of 4 calls, delay 200 millis and jitter of 50 millis A jitter retry policy - Parameters:
config
- the config node to use- Returns:
- updated builder instance
-