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

    Constructors
    Constructor and Description
    `ConcurrencyThrottleInterceptor()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`