Thank you both for the very helpful suggestions. It appears that the following simple pattern works, and there is no need to use ProceedingJoinPoint:
Object around(final Object obj) : somePointCut(obj) { // Prepare for execution final Callable<Object> action = new Callable<Object>() { @Override public Object call() throws Exception { return proceed(obj); } }; // Do whatever... } Does this look OK? I didn't realize that the AJC compiler would properly handle proceed() inside a nested class, but it appears that it does. I'm using AspectJ 1.7.2. Thanks, -Archie On Wed, Jul 17, 2013 at 1:21 AM, Alexander Kriegisch < alexan...@kriegisch.name> wrote: > In > http://stackoverflow.com/questions/17114843/aop-using-around-to-avoid-executing-a-method/17616813#17616813I > am describing a simpler example also using the worker object pattern. It > even uses Callable. Maybe it is a better example for you than my more > complex one Ramnivas has pointed you to. > > Alexander Kriegisch > http://scrum-master.de > > > Am 17.07.2013 um 01:44 schrieb Ramnivas Laddad <ramni...@ramnivas.com>: > > See worker object pattern described in > http://stackoverflow.com/questions/12018585/how-to-intercept-proceed-in-another-aspectj-aspect > > > On Tue, Jul 16, 2013 at 3:59 PM, Archie Cobbs <arc...@dellroad.org> wrote: > >> Is it possible to invoke proceed() in an aspect from an inner class? >> >> I have a need to pass off the execution of an advised method to another >> method that is going to invoke it as a Callable. This will all be done >> synchronously. >> >> A simplified version of what I'm trying to do would be: >> >> public aspect MyAspect { >> >> Object around(final Object obj) : somePointcut(obj) { >> Callable<Object> c = new Callable<Object>() { >> @Override >> public void call() throws Exception { >> return MyAspect.this.proceed(obj); >> } >> }); >> ... >> return c.call(); >> } >> >> In the real version, c gets passed off to another method that invokes >> and returns c.call(). >> >> If that's not possible, is there some other way to "wrap" the advised >> method invocation in a Callable? >> >> Thanks, >> -Archie >> >> -- >> Archie L. Cobbs >> >> _______________________________________________ >> aspectj-users mailing list >> aspectj-users@eclipse.org >> https://dev.eclipse.org/mailman/listinfo/aspectj-users >> >> > _______________________________________________ > aspectj-users mailing list > aspectj-users@eclipse.org > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > > _______________________________________________ > aspectj-users mailing list > aspectj-users@eclipse.org > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > -- Archie L. Cobbs
_______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users