public class TimeLimiterImpl extends java.lang.Object implements TimeLimiter
TimeLimiter.EventPublisherDEFAULT_NAME| Constructor and Description |
|---|
TimeLimiterImpl(java.lang.String name,
TimeLimiterConfig timeLimiterConfig) |
TimeLimiterImpl(java.lang.String name,
TimeLimiterConfig timeLimiterConfig,
io.vavr.collection.Map<java.lang.String,java.lang.String> tags) |
| Modifier and Type | Method and Description |
|---|---|
<T,F extends java.util.concurrent.CompletionStage<T>> |
decorateCompletionStage(java.util.concurrent.ScheduledExecutorService scheduler,
java.util.function.Supplier<F> supplier)
Decorate a CompletionStage supplier which is decorated by a TimeLimiter
|
<T,F extends java.util.concurrent.Future<T>> |
decorateFutureSupplier(java.util.function.Supplier<F> futureSupplier)
Creates a Callback that is restricted by a TimeLimiter.
|
TimeLimiter.EventPublisher |
getEventPublisher()
Returns an EventPublisher which can be used to register event consumers.
|
java.lang.String |
getName() |
io.vavr.collection.Map<java.lang.String,java.lang.String> |
getTags()
Returns an unmodifiable map with tags assigned to this TimeLimiter.
|
TimeLimiterConfig |
getTimeLimiterConfig()
Get the TimeLimiterConfig of this TimeLimiter decorator.
|
void |
onError(java.lang.Throwable throwable)
Records a failed call.
|
void |
onSuccess()
Records a successful call.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdecorateCompletionStage, decorateFutureSupplier, executeCompletionStage, executeFutureSupplier, of, of, of, of, ofDefaults, ofDefaultspublic TimeLimiterImpl(java.lang.String name,
TimeLimiterConfig timeLimiterConfig)
public TimeLimiterImpl(java.lang.String name,
TimeLimiterConfig timeLimiterConfig,
io.vavr.collection.Map<java.lang.String,java.lang.String> tags)
public <T,F extends java.util.concurrent.Future<T>> java.util.concurrent.Callable<T> decorateFutureSupplier(java.util.function.Supplier<F> futureSupplier)
TimeLimiterdecorateFutureSupplier in interface TimeLimiterT - the type of results supplied by the supplierF - the future type suppliedfutureSupplier - the original future supplierTimeLimiter.public <T,F extends java.util.concurrent.CompletionStage<T>> java.util.function.Supplier<java.util.concurrent.CompletionStage<T>> decorateCompletionStage(java.util.concurrent.ScheduledExecutorService scheduler,
java.util.function.Supplier<F> supplier)
TimeLimiterdecorateCompletionStage in interface TimeLimiterT - the type of the returned CompletionStage's resultF - the CompletionStage type suppliedscheduler - execution service to use to schedule timeoutsupplier - the original CompletionStage supplierpublic java.lang.String getName()
getName in interface TimeLimiterpublic io.vavr.collection.Map<java.lang.String,java.lang.String> getTags()
TimeLimitergetTags in interface TimeLimiterpublic TimeLimiterConfig getTimeLimiterConfig()
TimeLimitergetTimeLimiterConfig in interface TimeLimiterpublic TimeLimiter.EventPublisher getEventPublisher()
TimeLimitergetEventPublisher in interface TimeLimiterpublic void onSuccess()
TimeLimiterThis method must be invoked when a call was successful.
onSuccess in interface TimeLimiterpublic void onError(java.lang.Throwable throwable)
TimeLimiteronError in interface TimeLimiterthrowable - The throwable which must be recorded