Constructor and Description |
---|
CircuitBreaker(CircuitBreaker delegate) |
Modifier and Type | Method and Description |
---|---|
CircuitBreaker |
close()
Closes the circuit breaker.
|
CircuitBreaker |
closeHandler(Handler<Void> handler)
Sets a invoked when the circuit breaker state switches to close.
|
static CircuitBreaker |
create(String name,
Vertx vertx)
Creates a new instance of
CircuitBreaker , with default options. |
static CircuitBreaker |
create(String name,
Vertx vertx,
CircuitBreakerOptions options)
Creates a new instance of
CircuitBreaker . |
<T> Future<T> |
execute(Handler<Future<T>> operation)
Same as
executeWithFallback(io.vertx.core.Handler<io.vertx.rxjava.core.Future<T>>, java.util.function.Function<java.lang.Throwable, T>) but using the circuit breaker default fallback. |
<T> CircuitBreaker |
executeAndReport(Future<T> resultFuture,
Handler<Future<T>> operation)
Same as
executeAndReportWithFallback(io.vertx.rxjava.core.Future<T>, io.vertx.core.Handler<io.vertx.rxjava.core.Future<T>>, java.util.function.Function<java.lang.Throwable, T>) but using the circuit breaker default
fallback. |
<T> CircuitBreaker |
executeAndReportWithFallback(Future<T> resultFuture,
Handler<Future<T>> operation,
java.util.function.Function<Throwable,T> fallback)
Executes the given operation with the circuit breaker control.
|
<T> Future<T> |
executeWithFallback(Handler<Future<T>> operation,
java.util.function.Function<Throwable,T> fallback)
Executes the given operation with the circuit breaker control.
|
long |
failureCount() |
<T> CircuitBreaker |
fallback(java.util.function.Function<Throwable,T> handler)
Sets a default invoked when the bridge is open to handle the "request", or on failure
if
CircuitBreakerOptions is enabled. |
Object |
getDelegate() |
CircuitBreaker |
halfOpenHandler(Handler<Void> handler)
Sets a invoked when the circuit breaker state switches to half-open.
|
String |
name() |
static CircuitBreaker |
newInstance(CircuitBreaker arg) |
CircuitBreaker |
open()
Explicitly opens the circuit.
|
CircuitBreaker |
openHandler(Handler<Void> handler)
Sets a invoked when the circuit breaker state switches to open.
|
CircuitBreaker |
reset()
Resets the circuit breaker state (number of failure set to 0 and state set to closed).
|
CircuitBreakerState |
state() |
public CircuitBreaker(CircuitBreaker delegate)
public Object getDelegate()
public static CircuitBreaker create(String name, Vertx vertx, CircuitBreakerOptions options)
CircuitBreaker
.name
- the namevertx
- the Vert.x instanceoptions
- the configuration optionpublic static CircuitBreaker create(String name, Vertx vertx)
CircuitBreaker
, with default options.name
- the namevertx
- the Vert.x instancepublic CircuitBreaker close()
close
state of the circuit breaker. To set the circuit breaker in the
close
state, use reset()
.public CircuitBreaker openHandler(Handler<Void> handler)
handler
- the handler, must not be null
CircuitBreaker
public CircuitBreaker halfOpenHandler(Handler<Void> handler)
handler
- the handler, must not be null
CircuitBreaker
public CircuitBreaker closeHandler(Handler<Void> handler)
handler
- the handler, must not be null
CircuitBreaker
public <T> Future<T> executeWithFallback(Handler<Future<T>> operation, java.util.function.Function<Throwable,T> fallback)
The operation is not invoked if the circuit breaker is open, and the given fallback is called immediately. The circuit breaker also monitor the completion of the operation before a configure timeout. The operation is considered as failed if it does not terminate in time.
This method returns a object to retrieve the status and result of the operation, with the status being a success or a failure. If the fallback is called, the returned future is successfully completed with the value returned from the fallback. If the fallback throws an exception, the returned future is marked as failed.
operation
- the operationfallback
- the fallback function. It gets an exception as parameter and returns the fallback resultpublic <T> Future<T> execute(Handler<Future<T>> operation)
executeWithFallback(io.vertx.core.Handler<io.vertx.rxjava.core.Future<T>>, java.util.function.Function<java.lang.Throwable, T>)
but using the circuit breaker default fallback.operation
- the operationpublic <T> CircuitBreaker executeAndReport(Future<T> resultFuture, Handler<Future<T>> operation)
executeAndReportWithFallback(io.vertx.rxjava.core.Future<T>, io.vertx.core.Handler<io.vertx.rxjava.core.Future<T>>, java.util.function.Function<java.lang.Throwable, T>)
but using the circuit breaker default
fallback.resultFuture
- the future on which the operation result is reportedoperation
- the operationCircuitBreaker
public <T> CircuitBreaker executeAndReportWithFallback(Future<T> resultFuture, Handler<Future<T>> operation, java.util.function.Function<Throwable,T> fallback)
The operation is not invoked if the circuit breaker is open, and the given fallback is called immediately. The circuit breaker also monitor the completion of the operation before a configure timeout. The operation is considered as failed if it does not terminate in time.
Unlike executeWithFallback(io.vertx.core.Handler<io.vertx.rxjava.core.Future<T>>, java.util.function.Function<java.lang.Throwable, T>)
, this method does return a object, but
let the caller pass a object on which the result is reported. If the fallback is called, the future
is successfully completed with the value returned by the fallback function. If the fallback throws an exception,
the future is marked as failed.
resultFuture
- the future on which the operation result is reportedoperation
- the operationfallback
- the fallback function. It gets an exception as parameter and returns the fallback resultCircuitBreaker
public <T> CircuitBreaker fallback(java.util.function.Function<Throwable,T> handler)
CircuitBreakerOptions
is enabled.
The function gets the exception as parameter and returns the fallback result.
handler
- the handlerCircuitBreaker
public CircuitBreaker reset()
CircuitBreaker
public CircuitBreaker open()
CircuitBreaker
public CircuitBreakerState state()
public long failureCount()
public String name()
public static CircuitBreaker newInstance(CircuitBreaker arg)
Copyright © 2016. All rights reserved.