Re: [aspectj-users] context information in aspect fields

2012-11-06 Thread Brett Randall
Hi, It may or may not be useful to you, but the Perf4j project[1] uses AspectJ to instrument code with stopwatches, providing generic around-method timing via an @Profiled annotation. There's also an unreleased enhancement in github which allows methods to be timed without annotating them (by com

Re: [aspectj-users] context information in aspect fields

2012-11-06 Thread Romain Muller
Yes. And for non-static members you ought not to forget the use of volatile for the member... ;) [ Romain Muller | Software Development Engineer | +33 (0)6 48 25 66 70 | romain.mul...@esial.net ] Le 6 nov. 2012 à 11:47, Reik Schatz a écrit : > Thanks, both approaches are good i think. However

Re: [aspectj-users] context information in aspect fields

2012-11-06 Thread Reik Schatz
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 Map is still empty. Same goes for the perthis

Re: [aspectj-users] context information in aspect fields

2012-11-06 Thread Alexander Kriegisch
As an alternative if you do not lile the Map idea, you might want to use a non-singleton instantiation model like "perthis" or "pertarget" in combination with a normal (non-static) member variable for the Timer. Alexander Kriegisch http://scrum-master.de Am 06.11.2012 um 11:31 schrieb Romain M

Re: [aspectj-users] context information in aspect fields

2012-11-06 Thread Romain Muller
You can't do this with a "final" TIMER field. You may want to have a "private final Map 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 M

[aspectj-users] context information in aspect fields

2012-11-06 Thread Reik Schatz
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