Class ExposeInvocationInterceptor
java.lang.Object
org.springframework.aop.interceptor.ExposeInvocationInterceptor
- All Implemented Interfaces:
- Serializable, Advice, Interceptor, MethodInterceptor, Ordered, PriorityOrdered
public final class ExposeInvocationInterceptor
extends Object
implements MethodInterceptor, PriorityOrdered, Serializable
Interceptor that exposes the current 
MethodInvocation
as a thread-local object. We occasionally need to do this; for example, when a pointcut
(for example, an AspectJ expression pointcut) needs to know the full invocation context.
Don't use this interceptor unless this is really necessary. Target objects should not normally know about Spring AOP, as this creates a dependency on Spring API. Target objects should be plain POJOs as far as possible.
If used, this interceptor will normally be the first in the interceptor chain.
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final AdvisorSingleton advisor for this class.static final ExposeInvocationInterceptorSingleton instance of this class.Fields inherited from interface OrderedHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
- 
Method SummaryModifier and TypeMethodDescriptionstatic MethodInvocationReturn the AOP Alliance MethodInvocation object associated with the current invocation.intgetOrder()Get the order value of this object.Implement this method to perform extra treatments before and after the invocation.
- 
Field Details- 
INSTANCESingleton instance of this class.
- 
ADVISORSingleton advisor for this class. Use in preference to INSTANCE when using Spring AOP, as it prevents the need to create a new Advisor to wrap the instance.
 
- 
- 
Method Details- 
currentInvocationReturn the AOP Alliance MethodInvocation object associated with the current invocation.- Returns:
- the invocation object associated with the current invocation
- Throws:
- IllegalStateException- if there is no AOP invocation in progress, or if the ExposeInvocationInterceptor was not added to this interceptor chain
 
- 
invokeDescription copied from interface:MethodInterceptorImplement this method to perform extra treatments before and after the invocation. Polite implementations would certainly like to invokeJoinpoint.proceed().- Specified by:
- invokein interface- MethodInterceptor
- Parameters:
- mi- the method invocation joinpoint
- Returns:
- the result of the call to Joinpoint.proceed(); might be intercepted by the interceptor
- Throws:
- Throwable- if the interceptors or the target object throws an exception
 
- 
getOrderpublic int getOrder()Description copied from interface:OrderedGet the order value of this object.Higher values are interpreted as lower priority. As a consequence, the object with the lowest value has the highest priority (somewhat analogous to Servlet load-on-startupvalues).Same order values will result in arbitrary sort positions for the affected objects. 
 
-