public class SWCircuitBreaker<Rejected extends java.lang.Enum<Rejected>> extends java.lang.Object implements CircuitBreaker<Rejected>, BackgroundTask
DefaultCircuitBreaker should be used.| Constructor and Description |
|---|
SWCircuitBreaker(CircuitBreakerConfig<Rejected> breakerConfig) |
SWCircuitBreaker(CircuitBreakerConfig<Rejected> breakerConfig,
HealthGauge healthGauge) |
| Modifier and Type | Method and Description |
|---|---|
Rejected |
acquirePermit(long number,
long nanoTime)
Acquires the request permits for task execution.
|
void |
forceClosed() |
void |
forceOpen() |
CircuitBreakerConfig<Rejected> |
getBreakerConfig() |
boolean |
isOpen() |
<Result extends java.lang.Enum<Result> & Failable> |
registerGuardRail(GuardRail<Result,Rejected> guardRail)
This method will register a guard rail with this back pressure mechanism.
|
void |
releasePermit(long number,
Failable result,
long nanoTime)
Releases permits while considering the result of the execution.
|
void |
releasePermit(long number,
long nanoTime)
Releases permits without considering the result of the execution.
|
void |
setBreakerConfig(CircuitBreakerConfig<Rejected> breakerConfig) |
void |
tick(long nanoTime) |
public SWCircuitBreaker(CircuitBreakerConfig<Rejected> breakerConfig)
public SWCircuitBreaker(CircuitBreakerConfig<Rejected> breakerConfig, HealthGauge healthGauge)
public Rejected acquirePermit(long number, long nanoTime)
BackPressureacquirePermit in interface BackPressure<Rejected extends java.lang.Enum<Rejected>>number - of permits requestednanoTime - currentInterval nanosecond timepublic void releasePermit(long number,
long nanoTime)
BackPressurereleasePermit in interface BackPressure<Rejected extends java.lang.Enum<Rejected>>number - of permits to releasenanoTime - currentInterval nanosecond timepublic void releasePermit(long number,
Failable result,
long nanoTime)
BackPressurereleasePermit in interface BackPressure<Rejected extends java.lang.Enum<Rejected>>number - of permits to releaseresult - of the task executionnanoTime - currentInterval nanosecond timepublic <Result extends java.lang.Enum<Result> & Failable> void registerGuardRail(GuardRail<Result,Rejected> guardRail)
BackPressureregisterGuardRail in interface BackPressure<Rejected extends java.lang.Enum<Rejected>>guardRail - the guard rail registeredpublic boolean isOpen()
isOpen in interface CircuitBreaker<Rejected extends java.lang.Enum<Rejected>>public CircuitBreakerConfig<Rejected> getBreakerConfig()
getBreakerConfig in interface CircuitBreaker<Rejected extends java.lang.Enum<Rejected>>public void setBreakerConfig(CircuitBreakerConfig<Rejected> breakerConfig)
setBreakerConfig in interface CircuitBreaker<Rejected extends java.lang.Enum<Rejected>>public void forceOpen()
forceOpen in interface CircuitBreaker<Rejected extends java.lang.Enum<Rejected>>public void forceClosed()
forceClosed in interface CircuitBreaker<Rejected extends java.lang.Enum<Rejected>>public void tick(long nanoTime)
tick in interface BackgroundTaskCopyright © 2014 Tim Brooks. All Rights Reserved.