Package com.couchbase.client.core.retry
Class RetryAction
- java.lang.Object
-
- com.couchbase.client.core.retry.RetryAction
-
public class RetryAction extends Object
TheRetryAction
describes how and when a request should be retried.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Optional<Duration>
duration()
If present, the operation should be retried after the given duration.Function<Throwable,Throwable>
exceptionTranslator()
If a request is cancelled as the result of this retry action, the throwable used to fail the request should be translated by this function.static RetryAction
noRetry()
Constructs a newRetryAction
indicating that the request should not be retried.static RetryAction
noRetry(Function<Throwable,Throwable> exceptionTranslator)
Constructs a newRetryAction
indicating that the request should not be retried, and a specific exception should be used to fail the request.static RetryAction
withDuration(Duration duration)
Constructs a newRetryAction
indicating that the request should be retried after the given duration.
-
-
-
Method Detail
-
withDuration
public static RetryAction withDuration(Duration duration)
Constructs a newRetryAction
indicating that the request should be retried after the given duration.- Parameters:
duration
- the duration after which the request should be retried.- Returns:
- a new
RetryAction
indicating retry.
-
noRetry
public static RetryAction noRetry()
Constructs a newRetryAction
indicating that the request should not be retried.- Returns:
- a new
RetryAction
indicating no retry.
-
noRetry
@Volatile public static RetryAction noRetry(Function<Throwable,Throwable> exceptionTranslator)
Constructs a newRetryAction
indicating that the request should not be retried, and a specific exception should be used to fail the request.- Parameters:
exceptionTranslator
- customizes the exception used to fail the request. If the translator creates a new exception, to preserve the error context it should use the function argument as the new exception's cause.- Returns:
- a new
RetryAction
indicating no retry and a custom exception.
-
duration
public Optional<Duration> duration()
If present, the operation should be retried after the given duration.- Returns:
- the duration indicating if (and when) the request should be retried.
-
-