I found out that switching the "proxy-target-class" from "true" (CGLIB-based proxies) to "false" ("JDK Proxies") works with Spring 2.5.3:
Code:
<aop: config proxy-target-class="false">
<!-- pointcut for Logging -->
<aop: pointcut id="loggingPointcut"
expression="execution(* invoke(..))" />
When I set this attribute to "false" and use a JDK proxy, the Spring MVC validator is invoked from the corresponding endpoint as expected, while AOP still works. This is not the case when using CGLIB proxies anymore in Spring 2.5.3.
But that does not really explain to me why it worked in Spring 2.0.6. In the Spring changelogs I can not find a reasonable explanation for that behaviour. We used CGLIB proxies without any problems since then.
Does anyone have an idea why there is this strange difference in the behavior?
Martin