Package com.couchbase.client.core.retry
Class RetryAction
- java.lang.Object
-
- com.couchbase.client.core.retry.RetryAction
-
public class RetryAction extends Object
TheRetryActiondescribes 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 RetryActionnoRetry()Constructs a newRetryActionindicating that the request should not be retried.static RetryActionnoRetry(Function<Throwable,Throwable> exceptionTranslator)Constructs a newRetryActionindicating that the request should not be retried, and a specific exception should be used to fail the request.static RetryActionwithDuration(Duration duration)Constructs a newRetryActionindicating that the request should be retried after the given duration.
-
-
-
Method Detail
-
withDuration
public static RetryAction withDuration(Duration duration)
Constructs a newRetryActionindicating that the request should be retried after the given duration.- Parameters:
duration- the duration after which the request should be retried.- Returns:
- a new
RetryActionindicating retry.
-
noRetry
public static RetryAction noRetry()
Constructs a newRetryActionindicating that the request should not be retried.- Returns:
- a new
RetryActionindicating no retry.
-
noRetry
@Volatile public static RetryAction noRetry(Function<Throwable,Throwable> exceptionTranslator)
Constructs a newRetryActionindicating 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
RetryActionindicating 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.
-
-