Resilience4j · Schema

Resilience4j Retry Configuration

JSON Schema for Resilience4j retry configuration properties.

BulkheadCircuit BreakerFault ToleranceJavaMicroservicesRate LimiterResilienceRetrySpring BootFunctional Programming

Properties

Name Type Description
resilience4j object
View JSON Schema on GitHub

JSON Schema

retry-configuration.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/resilience4j/json-schema/retry-configuration.json",
  "title": "Resilience4j Retry Configuration",
  "description": "JSON Schema for Resilience4j retry configuration properties.",
  "type": "object",
  "properties": {
    "resilience4j": {
      "type": "object",
      "properties": {
        "retry": {
          "type": "object",
          "properties": {
            "configs": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/$defs/RetryConfig"
              }
            },
            "instances": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/$defs/RetryInstance"
              }
            }
          }
        }
      }
    }
  },
  "$defs": {
    "RetryConfig": {
      "type": "object",
      "properties": {
        "maxAttempts": {
          "type": "integer",
          "default": 3,
          "description": "Maximum number of retry attempts."
        },
        "waitDuration": {
          "type": "string",
          "default": "500ms",
          "description": "Fixed wait duration between retry attempts."
        },
        "enableExponentialBackoff": {
          "type": "boolean",
          "default": false,
          "description": "Whether exponential backoff is enabled."
        },
        "exponentialBackoffMultiplier": {
          "type": "number",
          "default": 2,
          "description": "Multiplier for exponential backoff."
        },
        "enableRandomizedWait": {
          "type": "boolean",
          "default": false,
          "description": "Whether randomized wait is enabled."
        },
        "randomizedWaitFactor": {
          "type": "number",
          "default": 0.5,
          "description": "Randomization factor for wait duration."
        },
        "retryExceptions": {
          "type": "array",
          "items": { "type": "string" },
          "description": "List of exception class names that trigger a retry."
        },
        "ignoreExceptions": {
          "type": "array",
          "items": { "type": "string" },
          "description": "List of exception class names that are ignored."
        },
        "failAfterMaxAttempts": {
          "type": "boolean",
          "default": false,
          "description": "Whether to throw MaxRetriesExceededException after all attempts."
        }
      }
    },
    "RetryInstance": {
      "allOf": [
        { "$ref": "#/$defs/RetryConfig" },
        {
          "type": "object",
          "properties": {
            "baseConfig": {
              "type": "string",
              "description": "Name of a shared configuration to inherit from."
            }
          }
        }
      ]
    }
  }
}