Package org.pjdbc.drivers
Class CircuitBreakerDriver.CircuitBreaker
java.lang.Object
org.pjdbc.drivers.CircuitBreakerDriver.CircuitBreaker
- Enclosing class:
CircuitBreakerDriver
Circuit breaker state machine implementation.
Thread-safe using atomic operations.
-
Constructor Summary
ConstructorsConstructorDescriptionCircuitBreaker(String url) CircuitBreaker(String name, int failureThreshold, int successThreshold, long resetTimeout) -
Method Summary
Modifier and TypeMethodDescriptionbooleanCheck if the circuit allows requests to pass through.voidforceState(CircuitBreakerDriver.State newState) Force the circuit to a specific state (for testing).intintgetName()longgetState()intintlonglonglongvoidRecord a failed operation.voidRecord a rejected request (circuit was open).voidRecord a successful operation.voidreset()Reset all counters and statistics.toString()
-
Constructor Details
-
CircuitBreaker
-
CircuitBreaker
-
-
Method Details
-
allowRequest
public boolean allowRequest()Check if the circuit allows requests to pass through. May transition from OPEN to HALF_OPEN if reset timeout has elapsed. -
recordSuccess
public void recordSuccess()Record a successful operation. -
recordFailure
public void recordFailure()Record a failed operation. -
recordRejection
public void recordRejection()Record a rejected request (circuit was open). -
getName
-
getState
-
getFailureCount
public int getFailureCount() -
getSuccessCount
public int getSuccessCount() -
getFailureThreshold
public int getFailureThreshold() -
getSuccessThreshold
public int getSuccessThreshold() -
getResetTimeout
public long getResetTimeout() -
getTotalRequests
public long getTotalRequests() -
getTotalFailures
public long getTotalFailures() -
getTotalRejections
public long getTotalRejections() -
forceState
Force the circuit to a specific state (for testing). -
reset
public void reset()Reset all counters and statistics. -
toString
-