Funny I had seen examples using !within(<AspectClass>). So I coded !within(ApplyStatisicsDaoAllPublicMethodsAspect).
Is the !clowbelow(within<AspectClass>)) required then? I wonder why those other examples worked in that case. 2010/7/13 Ramnivas Laddad <ramni...@aspectivity.com> > You will need to exclude *getStatisticsSource() *from being advised (or > add !cflowbelow(within(ApplyStatisticsDaoAllPublicMethodsAspect)) > > The reason you get infinite recursion is the following call sequence: > 1. A method executed on dao > 2. Advice executes > 3. Advice calls *getStatisticsSource* > 4. Since that is a method on dao (and its execution is not within the > aspect)... go to 1 > > -Ramnivas > > On Tue, Jul 13, 2010 at 1:40 PM, Stephen Boesch <java...@gmail.com> wrote: > >> In the following aspect, the bolded methods cause infinite recursion due >> to re-invocation of the pointcut. I don't get it: the pointcut conditions >> include >> >> >> * !within(ApplyStatisticsDaoAllPublicMethodsAspect) * >> >> So why did that not avoid the recursion? >> >> >> @Aspect >> public class ApplyStatisticsDaoAllPublicMethodsAspect { >> >> @Aspect >> public class ApplyStatisticsDaoAllPublicMethodsAspect { >> >> @Around(value = "execution(public * WaterfallOrmDao+.find* (..)) && >> !within(ApplyStatisticsDaoAllPublicMethodsAspect) && this(dao)", argNames = >> "thisJoinPoint, dao") >> public Object aroundApplyStatisticsMethod (ProceedingJoinPoint >> thisJoinPoint, WaterfallORMDao dao) >> throws Throwable { >> >> .. >> executedMethod = >> ((MethodSignature)thisJoinPoint.getSignature()).getMethod(); >> >> STATISTICS_FACTORY.getStatistics().addStatLine(dao.getManagedClass(), >> executedMethod, *dao.getStatisticsSource(),* stop - start); >> LOG.warn(dao.getManagedClass()+" "+ executedMethod+" "+ * >> dao.getStatisticsSource()*+" " + (stop - start)); >> .. >> >> >> >> _______________________________________________ >> 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