Package com.shri.restinpeace.exception
Class BulkheadFullException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
com.shri.restinpeace.exception.RestInPeaceException
com.shri.restinpeace.exception.BulkheadFullException
- All Implemented Interfaces:
Serializable
Thrown instead of making a call when its client's
bulkhead has no free permit
(and, if BulkheadConfig.getMaxWaitDurationMillis()
is set, none freed up within that wait either) - too many calls to this
client are already in flight. Not a RestInPeaceHttpException: no
actual HTTP response exists for a call that was never attempted.
Unlike CircuitOpenException, this is a plain concurrency
throttle rather than a signal that the downstream is failing - a permit
can free up the moment an in-flight call completes, so @Retry
does not special-case this exception the way it does
CircuitOpenException: it falls through to the ordinary
"any transport-level failure is retryable" path, letting a retry's own
backoff delay give the bulkhead a chance to free a permit before trying
again.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionBulkheadFullException(String message) Creates an exception with a message describing which client's bulkhead refused the call. -
Method Summary
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Constructor Details
-
BulkheadFullException
Creates an exception with a message describing which client's bulkhead refused the call.- Parameters:
message- a description of which client's bulkhead is full
-