## org.springframework.aop.interceptor
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
`ConcurrencyThrottleInterceptor()`

Method Summary
`Object` `invoke(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`

Constructor Detail

### ConcurrencyThrottleInterceptor

    public ConcurrencyThrottleInterceptor()

Method Detail

### invoke

    public Object invoke(MethodInvocation methodInvocation)
                  throws Throwable

  Specified by:
    `invoke` in interface `MethodInterceptor`
  Throws:
    `Throwable`