Ordering is not applied when there are in place both @After and @Before advices.
In this case the order number is silently ignored because of this extra code:
Is this error or intention?
Such limitation is not mentioned in the documentation:
I have a real situation (simplified in attached example) when I have a @Before advice, which is able to throw an Exception, preventing the target method to be called. I also have one @After advice which needs to be called with no matter if the Exception was thrown by @Before advice or not. So I need to set ordering of aspects: higher precedence for the @After advice and lower precedence for the @Before advice. But here comes the problem - ordering is ignored for mixed @After and @Before advices.
Please see the attached demo project which demonstrates the problem.