Skip to content

Introduce @ConcurrencyLimit annotation based on ConcurrencyThrottleInterceptor #35133

@jhoeller

Description

@jhoeller

Following up on @Retryable in #34529, we are considering a related feature for throttling method invocations: namely, a @ConcurrencyLimit annotation based on our good old ConcurrencyThrottleInterceptor arrangement (dating back to 1.0) which has recently been revised for use with SimpleAsyncTaskExecutor in Virtual Threads mode (#34727).

Since both @Retryable and @ConcurrencyLimit are effectively resilience features for method invocations, it is attractive to combine them into an org.springframework.resilience package in the spring-context module (next to org.springframework.scheduling which features @Scheduling and @Async) rather than keeping the retry interceptor in org.springframework.aop.retry. The goal is to unify these efforts for 7.0 M7.

Metadata

Metadata

Assignees

Labels

in: coreIssues in core modules (aop, beans, core, context, expression)type: enhancementA general enhancement

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions