org.springframework.aop.interceptor
Class ConcurrencyThrottleInterceptor
java.lang.Object
org.springframework.util.ConcurrencyThrottleSupport
org.springframework.aop.interceptor.ConcurrencyThrottleInterceptor
- All Implemented Interfaces:
- java.io.Serializable, org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor
public class ConcurrencyThrottleInterceptor
- extends org.springframework.util.ConcurrencyThrottleSupport
- implements org.aopalliance.intercept.MethodInterceptor, java.io.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
Fields inherited from class org.springframework.util.ConcurrencyThrottleSupport |
logger, NO_CONCURRENCY, UNBOUNDED_CONCURRENCY |
Method Summary |
java.lang.Object |
invoke(org.aopalliance.intercept.MethodInvocation methodInvocation)
|
Methods inherited from class org.springframework.util.ConcurrencyThrottleSupport |
afterAccess, beforeAccess, getConcurrencyLimit, isThrottleActive, setConcurrencyLimit |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ConcurrencyThrottleInterceptor
public ConcurrencyThrottleInterceptor()
invoke
public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation methodInvocation)
throws java.lang.Throwable
- Specified by:
invoke
in interface org.aopalliance.intercept.MethodInterceptor
- Throws:
java.lang.Throwable