Package com.commercetools.api.client
Class ConcurrentModificationMiddlewareImpl
java.lang.Object
com.commercetools.api.client.ConcurrentModificationMiddlewareImpl
- All Implemented Interfaces:
ConcurrentModificationMiddleware
,io.vrap.rmf.base.client.http.Middleware
public class ConcurrentModificationMiddlewareImpl
extends Object
implements ConcurrentModificationMiddleware
Implementation of the
ConcurrentModificationMiddleware
. Uses RetryPolicy
to retry upon ConcurrentModificationException
.
In case of a retry the request will an update request will be modified to include the
current version
reported by the error response.-
Field Summary
-
Constructor Summary
ConstructorDescriptionConcurrentModificationMiddlewareImpl
(int maxRetries) ConcurrentModificationMiddlewareImpl
(int maxRetries, long delay, long maxDelay) ConcurrentModificationMiddlewareImpl
(int maxRetries, long delay, long maxDelay, ObjectMapper mapper) -
Method Summary
Modifier and TypeMethodDescriptionCompletableFuture<io.vrap.rmf.base.client.ApiHttpResponse<byte[]>>
invoke
(io.vrap.rmf.base.client.ApiHttpRequest request, Function<io.vrap.rmf.base.client.ApiHttpRequest, CompletableFuture<io.vrap.rmf.base.client.ApiHttpResponse<byte[]>>> next)
-
Field Details
-
VERSION
- See Also:
-
DEFAULT_MAX_DELAY
public static final int DEFAULT_MAX_DELAY- See Also:
-
DEFAULT_INITIAL_DELAY
public static final int DEFAULT_INITIAL_DELAY- See Also:
-
-
Constructor Details
-
ConcurrentModificationMiddlewareImpl
public ConcurrentModificationMiddlewareImpl() -
ConcurrentModificationMiddlewareImpl
public ConcurrentModificationMiddlewareImpl(int maxRetries) -
ConcurrentModificationMiddlewareImpl
public ConcurrentModificationMiddlewareImpl(int maxRetries, long delay, long maxDelay) -
ConcurrentModificationMiddlewareImpl
public ConcurrentModificationMiddlewareImpl(int maxRetries, long delay, long maxDelay, ObjectMapper mapper)
-
-
Method Details
-
invoke
public CompletableFuture<io.vrap.rmf.base.client.ApiHttpResponse<byte[]>> invoke(io.vrap.rmf.base.client.ApiHttpRequest request, Function<io.vrap.rmf.base.client.ApiHttpRequest, CompletableFuture<io.vrap.rmf.base.client.ApiHttpResponse<byte[]>>> next) - Specified by:
invoke
in interfaceio.vrap.rmf.base.client.http.Middleware
-