@Target(value=METHOD)
@Retention(value=RUNTIME)
public @interface AroundInvoke
InvocationContext
and have a return type Object
. The method must not be
declared as abstract, final, or static.
@AroundInvoke public Object intercept(InvocationContext ctx) throws Exception { ... }
AroundInvoke
methods may be declared in interceptor classes, in the superclasses of interceptor classes, in
the target class, and/or in superclasses of the target class.
A given class must not declare more than one AroundInvoke
method.
An AroundInvoke
method can invoke any component or resource that the method it is intercepting can invoke.
In general, AroundInvoke
method invocations occur within the same transaction and security context as the
method on which they are interposing.
AroundInvoke
methods may throw any exceptions that are allowed by the throws clause of the method on which
they are interposing. They may catch and suppress exceptions and recover by calling
InvocationContext.proceed()
.