Spring's implementation of the AOP Alliance {@link org.aopalliance.intercept.MethodInvocation} interface,implementing the extended {@link org.springframework.aop.ProxyMethodInvocation} interface.
Invokes the target object using reflection. Subclasses can override the {@link #invokeJoinpoint()} method to change this behavior, so this is alsoa useful base class for more specialized MethodInvocation implementations.
It is possible to clone an invocation, to invoke {@link #proceed()}repeatedly (once per clone), using the {@link #invocableClone()} method.It is also possible to attach custom attributes to the invocation, using the {@link #setUserAttribute} / {@link #getUserAttribute} methods.
NOTE: This class is considered internal and should not be directly accessed. The sole reason for it being public is compatibility with existing framework integrations (e.g. Pitchfork). For any other purposes, use the {@link ProxyMethodInvocation} interface instead.
@author Rod Johnson
@author Juergen Hoeller
@author Adrian Colyer
@see #invokeJoinpoint
@see #proceed
@see #invocableClone
@see #setUserAttribute
@see #getUserAttribute