Class BulkheadFullException

All Implemented Interfaces:
Serializable

public class BulkheadFullException extends RestInPeaceException
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 Details

    • BulkheadFullException

      public BulkheadFullException(String message)
      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