An interceptor can be defined in the bean class or in another class.
In this example, it will be defined in the bean's class. A business
interceptor is defined by using the @AroundInvoke
annotation.
The following interceptor will print the name of the method that is invoked. Of course, this could be extended to perform more functions.
/**
* Dummy interceptor.
* @param invocationContext contains attributes of invocation
* @return method's invocation result
* @throws Exception if invocation fails
*/
@AroundInvoke
public Object intercept(final InvocationContext invocationContext) throws Exception {
System.out.println("Intercepting method '" + invocationContext.getMethod().getName()
+ "'.");
try {
return invocationContext.proceed();
} finally {
System.out.println("End of intercepting.");
}
}
![]() |
Caution |
|---|---|
|
Be sure to call the |