## Uses of Interface
org.aopalliance.intercept.MethodInvocation

- Packages that use MethodInvocation
  Package | Description
  --- | ---
  org.aopalliance.intercept | The AOP Alliance reflective interception abstraction.
  org.springframework.aop | Core Spring AOP interfaces, built on AOP Alliance AOP interoperability interfaces.
  org.springframework.aop.aspectj | AspectJ integration package.
  org.springframework.aop.framework | Package containing Spring's basic AOP infrastructure, compliant with the AOP Alliance interfaces.
  org.springframework.aop.framework.adapter | SPI package allowing Spring AOP framework to handle arbitrary advice types.
  org.springframework.aop.interceptor | Provides miscellaneous interceptor implementations.
  org.springframework.aop.support | Convenience classes for using Spring's AOP API.
  org.springframework.cache.interceptor | AOP-based solution for declarative caching demarcation.
  org.springframework.cache.jcache.interceptor | AOP-based solution for declarative caching demarcation using JSR-107 annotations.
  org.springframework.context.event | Support classes for application events, like standard context events.
  org.springframework.dao.support | Support classes for DAO implementations, providing miscellaneous utility methods.
  org.springframework.ejb.access | This package contains classes that allow easy access to EJBs.
  org.springframework.jms.remoting | Remoting classes for transparent Java-to-Java remoting via a JMS provider.
  org.springframework.jmx.access | Provides support for accessing remote MBean resources.
  org.springframework.orm.hibernate5.support | Classes supporting the `org.springframework.orm.hibernate5` package.
  org.springframework.remoting.caucho | This package provides remoting classes for Caucho's Hessian protocol: a proxy factory for accessing Hessian services, and an exporter for making beans available to Hessian clients.
  org.springframework.remoting.httpinvoker | Remoting classes for transparent Java-to-Java remoting via HTTP invokers.
  org.springframework.remoting.jaxws | Remoting classes for Web Services via JAX-WS (the successor of JAX-RPC), as included in Java 6 and Java EE 5.
  org.springframework.remoting.rmi | Remoting classes for conventional RMI and transparent remoting via RMI invokers.
  org.springframework.remoting.support | Generic support classes for remoting implementations.
  org.springframework.transaction.interceptor | AOP-based solution for declarative transaction demarcation.
  org.springframework.validation.beanvalidation | Support classes for integrating a JSR-303 Bean Validation provider (such as Hibernate Validator) into a Spring ApplicationContext and in particular with Spring's data binding and validation APIs.

- - ### Uses of MethodInvocation in org.aopalliance.intercept

    Methods in org.aopalliance.intercept with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `Object` | MethodInterceptor.`invoke(MethodInvocation invocation)` Implement this method to perform extra treatments before and after the invocation.

  - ### Uses of MethodInvocation in org.springframework.aop

    Subinterfaces of MethodInvocation in org.springframework.aop
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ProxyMethodInvocation` Extension of the AOP Alliance `MethodInvocation` interface, allowing access to the proxy that the method invocation was made through.

    Methods in org.springframework.aop that return MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `MethodInvocation` | ProxyMethodInvocation.`invocableClone()` Create a clone of this object.
    `MethodInvocation` | ProxyMethodInvocation.`invocableClone(Object... arguments)` Create a clone of this object.

  - ### Uses of MethodInvocation in org.springframework.aop.aspectj

    Methods in org.springframework.aop.aspectj with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `Object` | AspectJAfterThrowingAdvice.`invoke(MethodInvocation mi)`
    `Object` | AspectJAroundAdvice.`invoke(MethodInvocation mi)`
    `Object` | AspectJAfterAdvice.`invoke(MethodInvocation mi)`

  - ### Uses of MethodInvocation in org.springframework.aop.framework

    Classes in org.springframework.aop.framework that implement MethodInvocation
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ReflectiveMethodInvocation` Spring's implementation of the AOP Alliance `MethodInvocation` interface, implementing the extended `ProxyMethodInvocation` interface.

    Methods in org.springframework.aop.framework that return MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `MethodInvocation` | ReflectiveMethodInvocation.`invocableClone()` This implementation returns a shallow copy of this invocation object, including an independent copy of the original arguments array.
    `MethodInvocation` | ReflectiveMethodInvocation.`invocableClone(Object... arguments)` This implementation returns a shallow copy of this invocation object, using the given arguments array for the clone.

  - ### Uses of MethodInvocation in org.springframework.aop.framework.adapter

    Methods in org.springframework.aop.framework.adapter with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `Object` | MethodBeforeAdviceInterceptor.`invoke(MethodInvocation mi)`
    `Object` | ThrowsAdviceInterceptor.`invoke(MethodInvocation mi)`
    `Object` | AfterReturningAdviceInterceptor.`invoke(MethodInvocation mi)`

  - ### Uses of MethodInvocation in org.springframework.aop.interceptor

    Methods in org.springframework.aop.interceptor that return MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `static MethodInvocation` | ExposeInvocationInterceptor.`currentInvocation()` Return the AOP Alliance MethodInvocation object associated with the current invocation.

    Methods in org.springframework.aop.interceptor with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | AbstractMonitoringInterceptor.`createInvocationTraceName(MethodInvocation invocation)` Create a `String` name for the given `MethodInvocation` that can be used for trace/logging purposes.
    `static String` | ExposeBeanNameAdvisors.`getBeanName(MethodInvocation mi)` Find the bean name for the given invocation.
    `protected String` | DebugInterceptor.`getInvocationDescription(MethodInvocation invocation)`
    `protected String` | SimpleTraceInterceptor.`getInvocationDescription(MethodInvocation invocation)` Return a description for the given method invocation.
    `protected Log` | AbstractTraceInterceptor.`getLoggerForInvocation(MethodInvocation invocation)` Return the appropriate `Log` instance to use for the given `MethodInvocation`.
    `Object` | AsyncExecutionInterceptor.`invoke(MethodInvocation invocation)` Intercept the given method invocation, submit the actual calling of the method to the correct task executor and return immediately to the caller.
    `Object` | ExposeInvocationInterceptor.`invoke(MethodInvocation mi)`
    `Object` | AbstractTraceInterceptor.`invoke(MethodInvocation invocation)` Determines whether logging is enabled for the particular `MethodInvocation`.
    `Object` | DebugInterceptor.`invoke(MethodInvocation invocation)`
    `Object` | ConcurrencyThrottleInterceptor.`invoke(MethodInvocation methodInvocation)`
    `protected Object` | PerformanceMonitorInterceptor.`invokeUnderTrace(MethodInvocation invocation, Log logger)`
    `protected Object` | CustomizableTraceInterceptor.`invokeUnderTrace(MethodInvocation invocation, Log logger)` Writes a log message before the invocation based on the value of `enterMessage`.
    `protected abstract Object` | AbstractTraceInterceptor.`invokeUnderTrace(MethodInvocation invocation, Log logger)` Subclasses must override this method to perform any tracing around the supplied `MethodInvocation`.
    `protected Object` | JamonPerformanceMonitorInterceptor.`invokeUnderTrace(MethodInvocation invocation, Log logger)` Wraps the invocation with a JAMon Monitor and writes the current performance statistics to the log (if enabled).
    `protected Object` | SimpleTraceInterceptor.`invokeUnderTrace(MethodInvocation invocation, Log logger)`
    `protected boolean` | AbstractTraceInterceptor.`isInterceptorEnabled(MethodInvocation invocation, Log logger)` Determine whether the interceptor should kick in, that is, whether the `invokeUnderTrace` method should be called.
    `protected boolean` | JamonPerformanceMonitorInterceptor.`isInterceptorEnabled(MethodInvocation invocation, Log logger)` Always applies the interceptor if the "trackAllInvocations" flag has been set; else just kicks in if the log is enabled.
    `protected String` | CustomizableTraceInterceptor.`replacePlaceholders(String message, MethodInvocation methodInvocation, Object returnValue, Throwable throwable, long invocationTime)` Replace the placeholders in the given message with the supplied values, or values derived from those supplied.

  - ### Uses of MethodInvocation in org.springframework.aop.support

    Methods in org.springframework.aop.support with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `protected Object` | DelegatingIntroductionInterceptor.`doProceed(MethodInvocation mi)` Proceed with the supplied `MethodInterceptor`.
    `protected Object` | DelegatePerTargetObjectIntroductionInterceptor.`doProceed(MethodInvocation mi)` Proceed with the supplied `MethodInterceptor`.
    `Object` | DelegatingIntroductionInterceptor.`invoke(MethodInvocation mi)` Subclasses may need to override this if they want to perform custom behaviour in around advice.
    `Object` | DelegatePerTargetObjectIntroductionInterceptor.`invoke(MethodInvocation mi)` Subclasses may need to override this if they want to perform custom behaviour in around advice.
    `protected boolean` | IntroductionInfoSupport.`isMethodOnIntroducedInterface(MethodInvocation mi)` Is this method on an introduced interface?

  - ### Uses of MethodInvocation in org.springframework.cache.interceptor

    Methods in org.springframework.cache.interceptor with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `Object` | CacheInterceptor.`invoke(MethodInvocation invocation)`

  - ### Uses of MethodInvocation in org.springframework.cache.jcache.interceptor

    Methods in org.springframework.cache.jcache.interceptor with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `Object` | JCacheInterceptor.`invoke(MethodInvocation invocation)`

  - ### Uses of MethodInvocation in org.springframework.context.event

    Methods in org.springframework.context.event with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `Object` | EventPublicationInterceptor.`invoke(MethodInvocation invocation)`

  - ### Uses of MethodInvocation in org.springframework.dao.support

    Methods in org.springframework.dao.support with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `Object` | PersistenceExceptionTranslationInterceptor.`invoke(MethodInvocation mi)`

  - ### Uses of MethodInvocation in org.springframework.ejb.access

    Methods in org.springframework.ejb.access with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract Object` | AbstractRemoteSlsbInvokerInterceptor.`doInvoke(MethodInvocation invocation)` Perform the given invocation on the current EJB home.
    `protected Object` | SimpleRemoteSlsbInvokerInterceptor.`doInvoke(MethodInvocation invocation)` This implementation "creates" a new EJB instance for each invocation.
    `Object` | AbstractSlsbInvokerInterceptor.`invoke(MethodInvocation invocation)` Prepares the thread context if necessary, and delegates to `AbstractSlsbInvokerInterceptor.invokeInContext(org.aopalliance.intercept.MethodInvocation)`.
    `Object` | AbstractRemoteSlsbInvokerInterceptor.`invokeInContext(MethodInvocation invocation)` Fetches an EJB home object and delegates to `doInvoke`.
    `Object` | LocalSlsbInvokerInterceptor.`invokeInContext(MethodInvocation invocation)` This implementation "creates" a new EJB instance for each invocation.
    `protected abstract Object` | AbstractSlsbInvokerInterceptor.`invokeInContext(MethodInvocation invocation)` Perform the given invocation on the current EJB home, within the thread context being prepared accordingly.
    `protected Object` | AbstractRemoteSlsbInvokerInterceptor.`refreshAndRetry(MethodInvocation invocation)` Refresh the EJB home object and retry the given invocation.

  - ### Uses of MethodInvocation in org.springframework.jms.remoting

    Methods in org.springframework.jms.remoting with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `protected RemoteInvocation` | JmsInvokerClientInterceptor.`createRemoteInvocation(MethodInvocation methodInvocation)` Deprecated. Create a new `RemoteInvocation` object for the given AOP method invocation.
    `Object` | JmsInvokerClientInterceptor.`invoke(MethodInvocation methodInvocation)` Deprecated.

  - ### Uses of MethodInvocation in org.springframework.jmx.access

    Methods in org.springframework.jmx.access with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `protected Object` | MBeanClientInterceptor.`doInvoke(MethodInvocation invocation)` Route the invocation to the configured managed resource.
    `protected Object` | MBeanClientInterceptor.`handleConnectFailure(MethodInvocation invocation, Exception ex)` Refresh the connection and retry the MBean invocation if possible.
    `Object` | MBeanClientInterceptor.`invoke(MethodInvocation invocation)` Route the invocation to the configured managed resource..

  - ### Uses of MethodInvocation in org.springframework.orm.hibernate5.support

    Methods in org.springframework.orm.hibernate5.support with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `Object` | OpenSessionInterceptor.`invoke(MethodInvocation invocation)`

  - ### Uses of MethodInvocation in org.springframework.remoting.caucho

    Methods in org.springframework.remoting.caucho with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `Object` | HessianClientInterceptor.`invoke(MethodInvocation invocation)` Deprecated.

  - ### Uses of MethodInvocation in org.springframework.remoting.httpinvoker

    Methods in org.springframework.remoting.httpinvoker with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `protected RemoteInvocationResult` | HttpInvokerClientInterceptor.`executeRequest(RemoteInvocation invocation, MethodInvocation originalInvocation)` Deprecated. Execute the given remote invocation via the `HttpInvokerRequestExecutor`.
    `Object` | HttpInvokerClientInterceptor.`invoke(MethodInvocation methodInvocation)` Deprecated.

  - ### Uses of MethodInvocation in org.springframework.remoting.jaxws

    Methods in org.springframework.remoting.jaxws with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `protected Object` | JaxWsPortClientInterceptor.`doInvoke(MethodInvocation invocation)` Perform a JAX-WS service invocation based on the given method invocation.
    `protected Object` | JaxWsPortClientInterceptor.`doInvoke(MethodInvocation invocation, Object portStub)` Perform a JAX-WS service invocation on the given port stub.
    `Object` | JaxWsPortClientInterceptor.`invoke(MethodInvocation invocation)`

  - ### Uses of MethodInvocation in org.springframework.remoting.rmi

    Methods in org.springframework.remoting.rmi with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `protected RemoteInvocation` | JndiRmiClientInterceptor.`createRemoteInvocation(MethodInvocation methodInvocation)` Deprecated. Create a new RemoteInvocation object for the given AOP method invocation.
    `protected Object` | JndiRmiClientInterceptor.`doInvoke(MethodInvocation invocation, Object stub)` Deprecated. Perform the given invocation on the given RMI stub.
    `protected Object` | RmiClientInterceptor.`doInvoke(MethodInvocation invocation, Remote stub)` Deprecated. Perform the given invocation on the given RMI stub.
    `protected Object` | RmiClientInterceptor.`doInvoke(MethodInvocation methodInvocation, RmiInvocationHandler invocationHandler)` Deprecated. Apply the given AOP method invocation to the given `RmiInvocationHandler`.
    `protected Object` | JndiRmiClientInterceptor.`doInvoke(MethodInvocation methodInvocation, RmiInvocationHandler invocationHandler)` Deprecated. Apply the given AOP method invocation to the given `RmiInvocationHandler`.
    `Object` | RmiClientInterceptor.`invoke(MethodInvocation invocation)` Deprecated. Fetches an RMI stub and delegates to `doInvoke`.
    `Object` | JndiRmiClientInterceptor.`invoke(MethodInvocation invocation)` Deprecated. Fetches an RMI stub and delegates to `JndiRmiClientInterceptor.doInvoke(org.aopalliance.intercept.MethodInvocation, java.lang.Object)`.
    `static Object` | RmiClientInterceptorUtils.`invokeRemoteMethod(MethodInvocation invocation, Object stub)` Deprecated. Perform a raw method invocation on the given RMI stub, letting reflection exceptions through as-is.
    `protected Object` | RmiClientInterceptor.`refreshAndRetry(MethodInvocation invocation)` Deprecated. Refresh the RMI stub and retry the given invocation.
    `protected Object` | JndiRmiClientInterceptor.`refreshAndRetry(MethodInvocation invocation)` Deprecated. Refresh the RMI stub and retry the given invocation.

  - ### Uses of MethodInvocation in org.springframework.remoting.support

    Methods in org.springframework.remoting.support with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `protected RemoteInvocation` | RemoteInvocationBasedAccessor.`createRemoteInvocation(MethodInvocation methodInvocation)` Create a new RemoteInvocation object for the given AOP method invocation.
    `RemoteInvocation` | RemoteInvocationFactory.`createRemoteInvocation(MethodInvocation methodInvocation)` Create a serializable RemoteInvocation object from the given AOP MethodInvocation.
    `RemoteInvocation` | DefaultRemoteInvocationFactory.`createRemoteInvocation(MethodInvocation methodInvocation)`
    `Object` | RemoteInvocationTraceInterceptor.`invoke(MethodInvocation invocation)`

    Constructors in org.springframework.remoting.support with parameters of type MethodInvocation
    Constructor and Description
    `RemoteInvocation(MethodInvocation methodInvocation)` Create a new RemoteInvocation for the given AOP method invocation.

  - ### Uses of MethodInvocation in org.springframework.transaction.interceptor

    Methods in org.springframework.transaction.interceptor with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `Object` | TransactionInterceptor.`invoke(MethodInvocation invocation)`

  - ### Uses of MethodInvocation in org.springframework.validation.beanvalidation

    Methods in org.springframework.validation.beanvalidation with parameters of type MethodInvocation
    Modifier and Type | Method and Description
    --- | ---
    `protected Class<?>[]` | MethodValidationInterceptor.`determineValidationGroups(MethodInvocation invocation)` Determine the validation groups to validate against for the given method invocation.
    `Object` | MethodValidationInterceptor.`invoke(MethodInvocation invocation)`