Resilience4j · JSON Structure

Resilience4J Circuit Breaker Structure

JSON structure for Resilience4j CircuitBreaker configuration.

Type: Properties: 0
BulkheadCircuit BreakerFault ToleranceJavaMicroservicesRate LimiterResilienceRetrySpring BootFunctional Programming

Resilience4j Circuit Breaker Configuration is a JSON Structure definition published by Resilience4j.

Meta-schema:

JSON Structure

resilience4j-circuit-breaker-structure.json Raw ↑
{
  "name": "Resilience4j Circuit Breaker Configuration",
  "description": "JSON structure for Resilience4j CircuitBreaker configuration.",
  "fields": [
    {
      "name": "resilience4j.circuitbreaker.configs",
      "type": "map<string, CircuitBreakerConfig>",
      "description": "Named shared configuration profiles."
    },
    {
      "name": "resilience4j.circuitbreaker.instances",
      "type": "map<string, CircuitBreakerInstance>",
      "description": "Named circuit breaker instances."
    },
    {
      "name": "slidingWindowType",
      "type": "string",
      "enum": ["COUNT_BASED", "TIME_BASED"],
      "default": "COUNT_BASED",
      "description": "Type of sliding window used to record calls."
    },
    {
      "name": "slidingWindowSize",
      "type": "integer",
      "default": 100,
      "description": "Size of the sliding window (calls or seconds)."
    },
    {
      "name": "minimumNumberOfCalls",
      "type": "integer",
      "default": 100,
      "description": "Minimum calls before error rate calculation."
    },
    {
      "name": "failureRateThreshold",
      "type": "number",
      "default": 50,
      "description": "Failure rate percentage to open the circuit."
    },
    {
      "name": "slowCallRateThreshold",
      "type": "number",
      "default": 100,
      "description": "Slow call rate percentage to open the circuit."
    },
    {
      "name": "slowCallDurationThreshold",
      "type": "duration",
      "default": "60s",
      "description": "Duration after which a call is considered slow."
    },
    {
      "name": "waitDurationInOpenState",
      "type": "duration",
      "default": "60s",
      "description": "Time the circuit stays open before trying half-open."
    },
    {
      "name": "permittedNumberOfCallsInHalfOpenState",
      "type": "integer",
      "default": 10,
      "description": "Number of calls permitted in half-open state."
    },
    {
      "name": "automaticTransitionFromOpenToHalfOpenEnabled",
      "type": "boolean",
      "default": false,
      "description": "Enable automatic transition from OPEN to HALF_OPEN."
    },
    {
      "name": "recordExceptions",
      "type": "array<string>",
      "description": "Exception classes counted as failures."
    },
    {
      "name": "ignoreExceptions",
      "type": "array<string>",
      "description": "Exception classes that are ignored."
    },
    {
      "name": "baseConfig",
      "type": "string",
      "description": "Shared configuration name to inherit from (instances only)."
    }
  ]
}