Spring Cloud · Example Payload

Spring Cloud Circuit Breaker Example

Example Spring Cloud Circuit Breaker configuration using Resilience4J with fallback

Circuit BreakerCloud NativeDistributed SystemsJavaMicroservicesService DiscoverySpring Framework

Spring Cloud Circuit Breaker Example is an example object payload from Spring Cloud, with 6 top-level fields. It illustrates the shape of data this provider's APIs accept or return.

Top-level fields

namedescriptioncomponentconfigurationjavaImplementationstates

Example Payload

Raw ↑
{
  "name": "Circuit Breaker with Resilience4J Example",
  "description": "Example Spring Cloud Circuit Breaker configuration using Resilience4J with fallback",
  "component": "Spring Cloud Circuit Breaker",
  "configuration": {
    "resilience4j.circuitbreaker.instances.userService": {
      "sliding-window-size": 10,
      "failure-rate-threshold": 50,
      "wait-duration-in-open-state": "30s",
      "permitted-number-of-calls-in-half-open-state": 5,
      "slow-call-duration-threshold": "3s",
      "slow-call-rate-threshold": 80
    },
    "resilience4j.circuitbreaker.instances.paymentService": {
      "sliding-window-size": 20,
      "failure-rate-threshold": 25,
      "wait-duration-in-open-state": "60s"
    }
  },
  "javaImplementation": {
    "annotation": "@CircuitBreaker(name = \"userService\", fallbackMethod = \"getUserFallback\")\npublic User getUser(String userId) {\n    return userServiceClient.findById(userId);\n}\n\npublic User getUserFallback(String userId, Exception ex) {\n    return User.defaultUser(userId);\n}",
    "programmatic": "circuitBreakerFactory.create(\"userService\")\n    .run(() -> userServiceClient.findById(userId),\n         throwable -> User.defaultUser(userId));"
  },
  "states": {
    "CLOSED": "Normal operation, requests pass through",
    "OPEN": "Circuit tripped, requests fail fast with fallback",
    "HALF_OPEN": "Testing recovery, limited requests allowed through"
  }
}