Add resilience4j-circuit-breaker: Resilience4j 2.4.0 vs Spring Framework 7 core, on Boot 4.1
Companion module for the rewritten post 'Resilience4j Circuit Breaker in Spring Boot 4.1: What It's Still For', reworked around Framework 7 now shipping @Retryable/@ConcurrencyLimit in core. Covers what's still Resilience4j's job (circuit breaker, rate limiter, bulkhead's bounded wait, fallback methods, Actuator/Micrometer metrics), the off-by-one between maxAttempts and maxRetries, and two Boot-4.1 build breaks: spring-boot-starter-aop no longer exists (renamed to spring-boot-starter-aspectj, proven with Maven Central metadata and the renamed starter's own POM -- see resilience/docs/08-starter-aop-renamed-to-starter-aspectj.md in this same repo), and the resulting fix uses that renamed starter directly rather than assembling spring-aop + aspectjweaver by hand. Kept as its own module rather than a new top-level repository, alongside the existing resilience/ module for the sibling Framework-7 post.
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
@ConcurrencyLimit(limit=2, policy=REJECT), 4 concurrent callers, each sleeps 300ms
|
||||
==================================================================================
|
||||
OK in 301ms
|
||||
REJECTED (InvocationRejectedException) in 0ms
|
||||
OK in 300ms
|
||||
REJECTED (InvocationRejectedException) in 0ms
|
||||
|
||||
OK: 2, REJECTED: 2 (expected 2 and 2 with limit=2, 4 callers)
|
||||
Rejection throws org.springframework.resilience.InvocationRejectedException
|
||||
(a RejectedExecutionException subtype) -- confirmed by javap, not documented on the annotation itself.
|
||||
Reference in New Issue
Block a user