public final class ResilienceDecorator extends Object
Constructor and Description |
---|
ResilienceDecorator() |
Modifier and Type | Method and Description |
---|---|
static void |
clearAllCacheEntries(ResilienceConfiguration configuration)
Clears the entire cache associated with the given
ResilienceConfiguration if any exists, independent of
the specified ResilienceIsolationMode and defined parameters. |
static void |
clearCache(ResilienceConfiguration configuration)
Clears the cache associated with the given
ResilienceConfiguration if any exists. |
static <T> Callable<T> |
decorateCallable(Callable<T> callable,
ResilienceConfiguration configuration)
Decorate an instance of a callable function.
|
static <T> Callable<T> |
decorateCallable(Callable<T> callable,
ResilienceConfiguration configuration,
Function<? super Throwable,T> fallbackFunction)
Decorate an instance of a callable function.
|
static <T> Supplier<T> |
decorateSupplier(Supplier<T> supplier,
ResilienceConfiguration configuration)
Decorate an instance of a supplier function.
|
static <T> Supplier<T> |
decorateSupplier(Supplier<T> supplier,
ResilienceConfiguration configuration,
Function<? super Throwable,T> fallbackFunction)
Decorate an instance of a supplier function.
|
static <T> T |
executeCallable(Callable<T> callable,
ResilienceConfiguration configuration)
Decorate and execute an instance of a callable function.
|
static <T> T |
executeCallable(Callable<T> callable,
ResilienceConfiguration configuration,
Function<? super Throwable,T> fallbackFunction)
Decorate and execute an instance of a callable function.
|
static <T> T |
executeSupplier(Supplier<T> supplier,
ResilienceConfiguration configuration)
Decorate and execute an instance of a supplier function.
|
static <T> T |
executeSupplier(Supplier<T> supplier,
ResilienceConfiguration configuration,
Function<? super Throwable,T> fallbackFunction)
Decorate and execute an instance of a supplier function.
|
static ResilienceDecorationStrategy |
getDecorationStrategy()
The current instance of
ResilienceDecorationStrategy to be used to guarantee resilient function
properties. |
static void |
invalidateCache(ResilienceConfiguration configuration)
Deprecated.
Please use
clearAllCacheEntries(ResilienceConfiguration) to clear all cache entries for all
tenants and principals. You may also use clearCache(ResilienceConfiguration) to clear the
cache with respect to tenant/principal isolation. |
static <T> CompletableFuture<T> |
queueCallable(Callable<T> callable,
ResilienceConfiguration configuration)
Decorate an instance of a callable function.
|
static <T> CompletableFuture<T> |
queueCallable(Callable<T> callable,
ResilienceConfiguration configuration,
Function<? super Throwable,T> fallbackFunction)
Decorate an instance of a callable function.
|
static <T> CompletableFuture<T> |
queueSupplier(Supplier<T> supplier,
ResilienceConfiguration configuration)
Decorate an instance of a supplier function.
|
static <T> CompletableFuture<T> |
queueSupplier(Supplier<T> supplier,
ResilienceConfiguration configuration,
Function<? super Throwable,T> fallbackFunction)
Decorate an instance of a supplier function.
|
static void |
resetDecorationStrategy()
Resets the decoration strategy to its default.
|
static void |
setDecorationStrategy(ResilienceDecorationStrategy decorationStrategy)
The current instance of
ResilienceDecorationStrategy to be used to guarantee resilient function
properties. |
public static void resetDecorationStrategy()
@Deprecated public static void invalidateCache(@Nonnull ResilienceConfiguration configuration)
clearAllCacheEntries(ResilienceConfiguration)
to clear all cache entries for all
tenants and principals. You may also use clearCache(ResilienceConfiguration)
to clear the
cache with respect to tenant/principal isolation.ResilienceConfiguration
if any exists. Be aware that the cache
will be cleared for all tenants and principals.configuration
- The ResilienceConfiguration
the cache is attached to.@Beta public static void clearCache(@Nonnull ResilienceConfiguration configuration)
ResilienceConfiguration
if any exists. This method respects
tenant/principal isolation according to the ResilienceIsolationMode
as well as parameter isolation.clearAllCacheEntries(ResilienceConfiguration)
instead.configuration
- The ResilienceConfiguration
the cache is attached to.public static void clearAllCacheEntries(@Nonnull ResilienceConfiguration configuration)
ResilienceConfiguration
if any exists, independent of
the specified ResilienceIsolationMode
and defined parameters. Be aware that this operation affects all
tenants and principals.clearCache(ResilienceConfiguration)
to respect the tenant/principal and parameter isolation.configuration
- The ResilienceConfiguration
the cache is attached to.@Nonnull public static <T> Supplier<T> decorateSupplier(@Nonnull Supplier<T> supplier, @Nonnull ResilienceConfiguration configuration)
T
- The return type of the call.supplier
- The supplier.configuration
- The configuration of the resilient call.@Nullable public static <T> T executeSupplier(@Nonnull Supplier<T> supplier, @Nonnull ResilienceConfiguration configuration)
T
- The return type of the call.supplier
- The supplier.configuration
- The configuration of the resilient call.@Nonnull public static <T> Supplier<T> decorateSupplier(@Nonnull Supplier<T> supplier, @Nonnull ResilienceConfiguration configuration, @Nullable Function<? super Throwable,T> fallbackFunction)
T
- The return type of the call.supplier
- The supplier.configuration
- The configuration of the resilient call.fallbackFunction
- In case of failure, execute this function.@Nullable public static <T> T executeSupplier(@Nonnull Supplier<T> supplier, @Nonnull ResilienceConfiguration configuration, @Nullable Function<? super Throwable,T> fallbackFunction)
T
- The return type of the call.supplier
- The supplier.configuration
- The configuration of the resilient call.fallbackFunction
- In case of failure, execute this function.@Nonnull public static <T> Callable<T> decorateCallable(@Nonnull Callable<T> callable, @Nonnull ResilienceConfiguration configuration)
T
- The return type of the call.callable
- The callable.configuration
- The configuration of the resilient call.@Nullable public static <T> T executeCallable(@Nonnull Callable<T> callable, @Nonnull ResilienceConfiguration configuration) throws Exception
T
- The return type of the call.callable
- The callable.configuration
- The configuration of the resilient call.Exception
- Exception that can be thrown by the callable.@Nonnull public static <T> Callable<T> decorateCallable(@Nonnull Callable<T> callable, @Nonnull ResilienceConfiguration configuration, @Nullable Function<? super Throwable,T> fallbackFunction)
T
- The return type of the call.callable
- The callable.configuration
- The configuration of the resilient call.fallbackFunction
- In case of failure, execute this function.@Nullable public static <T> T executeCallable(@Nonnull Callable<T> callable, @Nonnull ResilienceConfiguration configuration, @Nullable Function<? super Throwable,T> fallbackFunction)
T
- The return type of the call.callable
- The callable.configuration
- The configuration of the resilient call.fallbackFunction
- (Optional) In case of failure, execute this function.@Nonnull public static <T> CompletableFuture<T> queueCallable(@Nonnull Callable<T> callable, @Nonnull ResilienceConfiguration configuration, @Nullable Function<? super Throwable,T> fallbackFunction)
T
- The return type of the call.callable
- The callable.configuration
- The configuration of the resilient call.fallbackFunction
- (Optional) In case of failure, execute this function.@Nonnull public static <T> CompletableFuture<T> queueCallable(@Nonnull Callable<T> callable, @Nonnull ResilienceConfiguration configuration)
T
- The return type of the call.callable
- The callable.configuration
- The configuration of the resilient call.@Nonnull public static <T> CompletableFuture<T> queueSupplier(@Nonnull Supplier<T> supplier, @Nonnull ResilienceConfiguration configuration, @Nullable Function<? super Throwable,T> fallbackFunction)
T
- The return type of the call.supplier
- The supplier.configuration
- The configuration of the resilient call.fallbackFunction
- (Optional) In case of failure, execute this function.@Nonnull public static <T> CompletableFuture<T> queueSupplier(@Nonnull Supplier<T> supplier, @Nonnull ResilienceConfiguration configuration)
T
- The return type of the call.supplier
- The supplier.configuration
- The configuration of the resilient call.@Nonnull public static ResilienceDecorationStrategy getDecorationStrategy()
ResilienceDecorationStrategy
to be used to guarantee resilient function
properties.public static void setDecorationStrategy(@Nonnull ResilienceDecorationStrategy decorationStrategy)
ResilienceDecorationStrategy
to be used to guarantee resilient function
properties.Copyright © 2021 SAP SE. All rights reserved.