ProceedingJoinPoint is only necessary with @AspectJ syntax, not with native syntax.
Alexander Kriegisch Am 17.07.2013 um 17:29 schrieb Archie Cobbs <arc...@dellroad.org>: > 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#17616813 >> I 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
_______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users