Thanks, both approaches are good i think. However if you want to code this
really clean, I guess even with a ConcurrentHashMap in the Map approach
you'd still have to do some locking for the situation where 2 threads are
calling the annotated method and MapString, Timer is still empty. Same
goes for the perthis approach if the non-static member is created inside
the advice, correct?
On Tue, Nov 6, 2012 at 11:31 AM, Romain Muller romain.mul...@esial.netwrote:
You can't do this with a final TIMER field. You may want to have a
private final MapString, 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
___
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