You can't do this with a "final" TIMER field. You may want to have a "private final Map<String, Timer> timers" in which you'd associate Timers to MethodNames.
The MethodName you can get from thisJoinPoint(StaticPart) - you may even be able to use thisJoinPointStaticPart.toString() for that purpose. [ Romain Muller | Software Development Engineer | +33 (0)6 48 25 66 70 | romain.mul...@esial.net ] Le 6 nov. 2012 à 11:29, Reik Schatz <reik.sch...@gmail.com> a écrit : > Hi, > > I am working on a timer example using AspectJ similar to this logging > example: > http://adamgent.com/post/5479576926/the-python-decorator-pattern-for-java-using-aspectj > > However the Timer (not Logger) I am using takes among others a String > argument which describes the context of the place where you are timing (i.e. > if you are timing a save method in a DAO class, the argument would be > "save"). Now that the Timer is defined in the Aspect, is it possible to > retrieve some context information outside of the pointcut or advice > definition? Ideally I want to do something like: > > public aspect TimedAspect { > > private final Timer TIMER = Metrics.newTimer(getClass(), "TARGET METHOD > NAME HERE"); > > pointcut timedExecution() : execution(@Timed * * (..)); // execution of a > annotated method > > Object around() : timedExecution() { > final TimerContext context = TIMER.time(); > try { > return proceed(); > } finally { > context.stop(); > } > } > } > > For me it looks like the only way is to create the Timer object inside the > advice and use the context information available. > _______________________________________________ > aspectj-users mailing list > aspectj-users@eclipse.org > https://dev.eclipse.org/mailman/listinfo/aspectj-users
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users