Allright. Figured this one out. It was due to the Spring AOP proxy issue. Spring by default uses JDK dynamic proxy which means it would proxy the interface by implementing it. But for my case in my action class I need to execute a method (dynamic method invocation) by calling my action class. But at the same time I do not want to create an interface for my action class and just add this method there. So changed my applicationContxt.xml entry from:
and it worked. Now it makes use of CGLIB proxies.
But another question. Do I loose any performance gain here? Also CGLIB proxies do not allow my class that I'm AOP controlling to be declared as final which is already a shit for me. Any suggestions here on what could be the ideal way. I mean I prefer to use JDK dynamic proxy and at the same time I want to use Dynamic Method Invocation in Struts and at the same time I do not want to add an extra interface to avoid the proxy method not found exception.