On Frits' notes, p.41
AroundInvoke() methods may cause this rollback before or after InvocationContext.proceed() is called.
I found some examples and Invocation.proceed() is usually invoked when the interceptor method returns.
Example:
How can a transaction be rollback after ic.proceed()?
I think in this case, if we want to rollback a transaction after ic.proceed(), we should rollback the transaction in the next interceptor or the business method itself?