public class RetryingAsyncOperation<T> extends Object implements Runnable
Each operation attempt is limited with a timeout returned by RequestRetryPolicy.getRequestTimeout()
.
See TarantoolRequestRetryPolicies.InfiniteRetryPolicy
for an implementation example.
Modifier and Type | Field and Description |
---|---|
protected AtomicReference<Throwable> |
lastExceptionWrapper |
protected Supplier<CompletableFuture<T>> |
operation |
protected RequestRetryPolicy |
policy |
protected RequestTimeoutOperation<T> |
requestTimeoutOperation |
protected CompletableFuture<T> |
resultFuture |
Constructor and Description |
---|
RetryingAsyncOperation(RequestRetryPolicy policy,
Supplier<CompletableFuture<T>> operation,
CompletableFuture<T> resultFuture,
AtomicReference<Throwable> lastExceptionWrapper) |
protected final Supplier<CompletableFuture<T>> operation
protected final CompletableFuture<T> resultFuture
protected final AtomicReference<Throwable> lastExceptionWrapper
protected final RequestTimeoutOperation<T> requestTimeoutOperation
protected final RequestRetryPolicy policy
public RetryingAsyncOperation(RequestRetryPolicy policy, Supplier<CompletableFuture<T>> operation, CompletableFuture<T> resultFuture, AtomicReference<Throwable> lastExceptionWrapper)
Copyright © 2025 Picodata. All rights reserved.