I've just been testing some error cases for EJB trying out the different rules to see how it breaks, when and if it breaks. Today I tested the condition in 12.3 of the core spec to do with the number of @AroundInvoke methods in an interceptor. The spec says:
AroundInvoke methods may be defined on superclasses of the bean class or interceptor classes.
However, only oneAroundInvoke method may be present on a given class.
I decided to see what happens if I define two around invoke methods in an interceptor class to see if I get an Exception, or whether the bean just doesn't deploy at all. What I found is that no errors occur, and at least one @AroundInvoke method in that interceptor is called, but the one that runs seems to be indeterminate.
Im using Glassfish 2.1 container and the interceptor class is given below (im declaring this interceptor to be called from a stateless bean not shown below):
Has anyone tried anything similar in a different container perhaps? The spec isn't clear on what happens if you define two, it just says you shouldn't do it.