Resilience4j · Schema

Resilience4j Rate Limiter Configuration

JSON Schema for Resilience4j rate limiter configuration properties.

BulkheadCircuit BreakerFault ToleranceJavaMicroservicesRate LimiterResilienceRetrySpring BootFunctional Programming

Properties

Name Type Description
resilience4j object
View JSON Schema on GitHub

JSON Schema

rate-limiter-configuration.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/resilience4j/json-schema/rate-limiter-configuration.json",
  "title": "Resilience4j Rate Limiter Configuration",
  "description": "JSON Schema for Resilience4j rate limiter configuration properties.",
  "type": "object",
  "properties": {
    "resilience4j": {
      "type": "object",
      "properties": {
        "ratelimiter": {
          "type": "object",
          "properties": {
            "configs": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/$defs/RateLimiterConfig"
              }
            },
            "instances": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/$defs/RateLimiterInstance"
              }
            }
          }
        }
      }
    }
  },
  "$defs": {
    "RateLimiterConfig": {
      "type": "object",
      "properties": {
        "limitForPeriod": {
          "type": "integer",
          "default": 50,
          "description": "Number of permissions available during one limit refresh period."
        },
        "limitRefreshPeriod": {
          "type": "string",
          "default": "500ns",
          "description": "Duration of a limit refresh period."
        },
        "timeoutDuration": {
          "type": "string",
          "default": "5s",
          "description": "Default wait time for permission."
        },
        "registerHealthIndicator": {
          "type": "boolean",
          "default": false,
          "description": "Whether to register a health indicator."
        },
        "eventConsumerBufferSize": {
          "type": "integer",
          "default": 100,
          "description": "Size of the event consumer buffer."
        },
        "writableStackTraceEnabled": {
          "type": "boolean",
          "default": true,
          "description": "Whether RequestNotPermitted has a writable stack trace."
        }
      }
    },
    "RateLimiterInstance": {
      "allOf": [
        { "$ref": "#/$defs/RateLimiterConfig" },
        {
          "type": "object",
          "properties": {
            "baseConfig": {
              "type": "string",
              "description": "Name of a shared configuration to inherit from."
            }
          }
        }
      ]
    }
  }
}