Thank you very much, Andy, for the link. I added to the configuration -debug as well as -showWeaveInfo. This results in a long list of messages where he tells that he weaves the application classes, for instance:
[UnifiedClassLoader@...] debug weaving 'com.example.foo.Bar' But he does not apply the aspect I have defined (there is no weaveinfo in the log). Bernhard On Di, 2011-05-24 at 22:45 -0700, Andy Clement wrote: > Hi Bernhard, > > You could refer to my article here for all the debug options around ltw: > > http://andrewclement.blogspot.com/2009/02/load-time-weaving-basics.html > > Beyond -verbose it talks about -debug - this option will actually tell > you what classes are being passed to the weaver for weaving. > > I'm sorry I can't answer specific info about JBoss though, there may > be something extra that needs configuring if it is using some kind > of unusual classloader hierarchies. > > Andy > > 2011/5/24 Bernhard Berger <ber...@tzi.de>: > > On Di, 2011-05-24 at 16:31 +0200, Pasturel wrote: > >> Le 24/05/2011 15:37, Bernhard Berger a écrit : > >> > Hi, > >> > > >> > I have some problems with instrumenting a java enterprise application, > >> > which perhaps is not a AspectJ issue. Maybe someone of you can help me. > >> > Currently I'm trying to trace an enterprise application deployed to a > >> > JBoss 4 server. My idea is to add a trace aspect to every call within a > >> > certain package to extract a run-time call-graph. > >> > I have implemented a small aspect and created a pointcut matching all > >> > classes: > >> > pointcut myMethodCalls(): within(com.example.*)&& call(* *(..)); > >> > > >> > The aspect snippets call a tracer class before and after the call: > >> > before() : myMethodCalls() { > >> > TraceMonitor.enterMethod(thisJoinPoint, > >> > thisEnclosingJoinPointStaticPart); > >> > } > >> > > >> > after() : myMethodCalls() { > >> > TraceMonitor.leaveMethod(thisJoinPoint); > >> > } > >> > > >> > When instrumenting a commandline application, everything is working fine > >> > and I receive the result I expect. But when I copy this to JBoss the > >> > aspect is not added to the classes. BTW: I'm using LTW because I want > >> > AspectJ to add the aspect to all classes (even to the one that are > >> > generated at runtime). > >> > > >> > The only result I can see are tons of log messages like this: > >> > [2@63cd66ea] info AspectJ Weaver Version 1.6.11 built on Tuesday Mar 15, > >> > 2011 at 15:31:04 GMT > >> > [2@63cd66ea] info register classloader org.jboss.mx.util.MBeanProxyExt > >> > $2@63cd66ea > >> > [2@63cd66ea] info using configuration /C:/test/bin/aop.xml > >> > [2@63cd66ea] info register aspect de.uni_bremen.st.berber.aspectj.Trace > >> > > >> > which shows me that AspectJ is running but the fact that the classes are > >> > not instrumented shows me, that I missed something. Perhaps some > >> > configuration settings for JBoss. Can someone give me a hint? > >> > > >> > Thanks in advance > >> > > >> > Bernhard > >> > >> I suppose that the file /C:/test/bin/aop.xml declares the aspect. turn > >> on verbose mode in aop.xml > >> > >> Other way, JBoss has its own AOP weaver, => javassist . Perhaps a > >> precedence between aspectj and javassist > > > > My aop.xml contains the line: > > > > <weaver options="-verbose" /> > > > > and I'm enhanced the run script to add the following parameters to > > jboss: > > > > -javaagent:c:\test\aspectjweaver.jar -Daj.weaving.verbose=true > > -Dorg.aspectj.weaver.showWeaveInfo=true -Daj.weaving.debug=true > > -Daj.weaving.trace=true > > -Dorg.aspectj.weaver.loadtime.configuration=aop.xml -classpath "% > > JBOSS_CLASSPATH%;c:\test\bin" > > > > The aop.xml and the aspect can be found in c:\test\bin. And in the log > > there are very often the lines: > > > > 2011-05-25 06:32:35,277 ERROR [STDERR] [2@41d47b2b] info AspectJ Weaver > > Version 1.6.11 built on Tuesday Mar 15, 2011 at 15:31:04 GMT > > 2011-05-25 06:32:35,277 ERROR [STDERR] [2@41d47b2b] info register > > classloader org.jboss.mx.util.MBeanProxyExt$2@41d47b2b > > 2011-05-25 06:32:35,277 ERROR [STDERR] [2@41d47b2b] info using > > configuration /C:/test/bin/aop.xml > > 2011-05-25 06:32:35,292 ERROR [STDERR] [2@41d47b2b] info register aspect > > de.uni_bremen.st.berber.aspectj.Trace > > > > ... > > > > 2011-05-25 06:32:36,135 ERROR [STDERR] [2@4ca68fd8] info AspectJ Weaver > > Version 1.6.11 built on Tuesday Mar 15, 2011 at 15:31:04 GMT > > 2011-05-25 06:32:36,135 ERROR [STDERR] [2@4ca68fd8] info register > > classloader org.jboss.mx.util.MBeanProxyExt$2@4ca68fd8 > > 2011-05-25 06:32:36,135 ERROR [STDERR] [2@4ca68fd8] info using > > configuration /C:/test/bin/aop.xml > > 2011-05-25 06:32:36,150 ERROR [STDERR] [2@4ca68fd8] info register aspect > > de.uni_bremen.st.berber.aspectj.Trace > > > > ... > > > > 2011-05-25 06:34:08,809 ERROR [STDERR] [JasperLoader@331a0501] info > > AspectJ Weaver Version 1.6.11 built on Tuesday Mar 15, 2011 at 15:31:04 > > GMT > > 2011-05-25 06:34:08,809 ERROR [STDERR] [JasperLoader@331a0501] info > > register classloader org.apache.jasper.servlet.JasperLoader@331a0501 > > 2011-05-25 06:34:08,825 ERROR [STDERR] [JasperLoader@331a0501] info > > using configuration /C:/test/bin/aop.xml > > 2011-05-25 06:34:08,825 ERROR [STDERR] [JasperLoader@331a0501] info > > register aspect de.uni_bremen.st.berber.aspectj.Trace > > > > Entries that he advises some joinpoints is missing. I even deleted the > > javassist.jar from the deployment directory to make sure he isn't using > > it. > > > > Regards > > > > Bernhard _______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users