Class ConcurrencyThrottleInterceptor
- java.lang.Object
- org.springframework.util.ConcurrencyThrottleSupport
- org.springframework.aop.interceptor.ConcurrencyThrottleInterceptor
- All Implemented Interfaces:
Serializable
,Advice
,Interceptor
,MethodInterceptor
public class ConcurrencyThrottleInterceptor extends ConcurrencyThrottleSupport implements MethodInterceptor, Serializable
Interceptor that throttles concurrent access, blocking invocations if a specified concurrency limit is reached.Can be applied to methods of local services that involve heavy use of system resources, in a scenario where it is more efficient to throttle concurrency for a specific service rather than restricting the entire thread pool (e.g. the web container's thread pool).
The default concurrency limit of this interceptor is 1. Specify the "concurrencyLimit" bean property to change this value.
- Since:
- 11.02.2004
- Author:
- Juergen Hoeller
- See Also:
ConcurrencyThrottleSupport.setConcurrencyLimit(int)
, Serialized Form
Field Summary
Fields inherited from class org.springframework.util.ConcurrencyThrottleSupport
logger, NO_CONCURRENCY, UNBOUNDED_CONCURRENCY
Constructor Summary
Constructors Constructor Description ConcurrencyThrottleInterceptor()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
invoke(MethodInvocation methodInvocation)
Implement this method to perform extra treatments before and after the invocation.Methods inherited from class org.springframework.util.ConcurrencyThrottleSupport
afterAccess, beforeAccess, getConcurrencyLimit, isThrottleActive, setConcurrencyLimit
Constructor Detail
ConcurrencyThrottleInterceptor
public ConcurrencyThrottleInterceptor()
Method Detail
invoke
public Object invoke(MethodInvocation methodInvocation) throws Throwable
Description copied from interface:MethodInterceptor
Implement this method to perform extra treatments before and after the invocation. Polite implementations would certainly like to invokeJoinpoint.proceed()
.- Specified by:
invoke
in interfaceMethodInterceptor
- Parameters:
methodInvocation
- the method invocation joinpoint- Returns:
- the result of the call to
Joinpoint.proceed()
; might be intercepted by the interceptor - Throws:
Throwable
- if the interceptors or the target object throws an exception