Hi, Frits,
On p. 6 of Interceptor 1.1 specification, it says
"If multiple method interceptor methods are defined for a target class, the following rules governing their invocation order apply. The deployment descriptor may be used to override the interceptor invocation order specified in annotations.
. default interceptor, if any, are invoked first...
. ... interceptor classes associated with the target class using the Interceptors annotation, the interceptor methods defied by those interceptor classes are invoked before any interceptor method defined on the target class.
. The around-invoke method defined on those interceptor classes are invoked in the same order as the specification of the interceptor classes in the Interceptors annotation....
and etc
From this quote, it
does not say the order of interceptor method invocation must be default interceptor first , @Interceptor is the next, @AroundInvoke defined in those @Interceptor (....) is next and so on.
So, I think your notes is fine.
But this has to be in order:
After the interceptor methods defined on interceptor classes have been invoked, then in order:
. any method-level interceptor for the target class
. around invoke methods of target class's super class
. around invoke method of the target class.