← ClaudeAtlas

java-resiliencelisted

Use when the user asks to add resilience patterns, handle service failures, implement circuit breaker, retry, rate limiter, bulkhead, or timeout in a Spring Boot project using Resilience4J.
limited-grisaille833/claude-java-plugins · ★ 0 · Testing & QA · score 68
Install: claude install-skill limited-grisaille833/claude-java-plugins
# Resilience4J Skill Detect the existing setup, then apply the correct pattern. ## Step 1 — Detect setup Check `pom.xml` or `build.gradle`: - `resilience4j-spring-boot3` → Spring Boot 3.x (use `io.github.resilience4j:resilience4j-spring-boot3`) - `resilience4j-spring-boot2` → Spring Boot 2.x - `spring-cloud-starter-circuitbreaker-resilience4j` → Spring Cloud Circuit Breaker abstraction - None present → offer to add (recommend `resilience4j-spring-boot3` for Boot 3.x) Check Java version: Java 17+ enables records for fallback DTOs; Java 8+ supported throughout. --- ## Mode: `review` User asks to review existing Resilience4J config. Check for: - [ ] Circuit breaker thresholds are tuned — `slidingWindowSize`, `failureRateThreshold`, `waitDurationInOpenState` set explicitly (not defaults) - [ ] `slowCallDurationThreshold` and `slowCallRateThreshold` configured — slow calls should also trip the breaker - [ ] Fallback methods match the same signature as the guarded method (same return type + `Throwable` param) - [ ] `@CircuitBreaker` and `@Retry` not stacked without `fallbackMethod` on the outer annotation — will swallow exceptions silently - [ ] Retry has `ignoreExceptions` for business errors (e.g. `IllegalArgumentException`, `EntityNotFoundException`) — don't retry 4xx errors - [ ] `RateLimiter` uses `limitForPeriod` appropriate for downstream SLA — not an arbitrary number - [ ] Bulkhead `maxConcurrentCalls` sized against thread pool or reactive scheduler - [ ] Actuator e