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.
8 lines
452 B
Plaintext
8 lines
452 B
Plaintext
@ConcurrencyLimit(limit=2, policy=BLOCK), 4 concurrent callers, each sleeps 300ms
|
|
=================================================================================
|
|
per-caller completion time (ms), sorted: [300, 300, 598, 600]
|
|
total wall time for all 4 callers: 601ms
|
|
all 4 calls succeeded (BLOCK never rejects): true
|
|
expectation: with limit=2 and 300ms per call, 4 callers must take roughly 2x300=600ms+,
|
|
not ~300ms as they would with no limit at all.
|