Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] WeavingAdapter - how to use it?

Hello,

I am trying to instrument classes at load time and I thought about using WeavingAdaptor. 

I use my own agent, to perform other types of analysis on the bytecode. Thus I would like to use the load-time facilities offered by AspectJ out of their normal context. I searched a bit and I found WeaverAdapter. However, what is not clear to me is how to use it. Could someone point me to a tutorial, example, etc?

I would like to ask what is the GeneratedClassHandler for? Also, do I need to pass to the WeaverAdapter the entire classpath for the classes, since I already have the bytes of the class I want to instrument?

Also, for the URLs for the aspects, do these have to point to an .aj file? or a compiled version? I tried with the ".aj" files but no success.

This is the log of my actions:

20:50:27.044 main I [WeavingAdaptor] info using aspectpath: []
20:50:27.104 main > org.aspectj.weaver.Lint.<init>
org.aspectj.weaver.Lint@59bca5f1
org.aspectj.weaver.bcel.BcelWorld@70329f3d
20:50:27.104 main < org.aspectj.weaver.Lint.<init>
20:50:27.104 main > org.aspectj.weaver.World.<init>
org.aspectj.weaver.bcel.BcelWorld@70329f3d
20:50:27.108 main > org.aspectj.weaver.Dump.registerNode class
org.aspectj.weaver.bcel.BcelWorld,
org.aspectj.weaver.bcel.BcelWorld@70329f3d
20:50:27.108 main < org.aspectj.weaver.Dump.registerNode 1
20:50:27.137 main < org.aspectj.weaver.World.<init>
20:50:27.159 main > org.aspectj.weaver.bcel.ClassPathManager.<init>
org.aspectj.weaver.bcel.ClassPathManager@3dac2f9c
java.util.LinkedList(37),
org.aspectj.weaver.tools.WeavingAdaptor$WeavingAdaptorMessageHolder@7369ca65
20:50:27.183 main I [WeavingAdaptor] info directory classpath entry
does not exist: /usr/share/java/junit4-4.3.1.jar
20:50:27.183 main I [WeavingAdaptor] info directory classpath entry
does not exist: /usr/share/java/junit4.jar
20:50:27.184 main I [WeavingAdaptor] info directory classpath entry
does not exist: /usr/share/java/junit.jar
20:50:27.184 main I [WeavingAdaptor] info directory classpath entry
does not exist: /usr/local/lib/pl-5.6.64/lib/jpl.jar
20:50:27.184 main I [WeavingAdaptor] info zipfile classpath entry does
not exist: /home/slv/Desktop/no_X11/PSet
20:50:27.185 main I [WeavingAdaptor] info zipfile classpath entry does
not exist: /home/slv/Desktop/aspectj-1.6.6/aspectjweaver
20:50:27.185 main I [WeavingAdaptor] info zipfile classpath entry does
not exist: /home/slv/Desktop/aspectj-1.6.6/aspectjweaver
20:50:27.186 main < org.aspectj.weaver.bcel.ClassPathManager.<init>
20:50:27.205 main > org.aspectj.weaver.bcel.BcelWeaver.<init>
org.aspectj.weaver.bcel.BcelWeaver@4d61f10f
org.aspectj.weaver.bcel.BcelWorld@70329f3d
20:50:27.205 main < org.aspectj.weaver.bcel.BcelWeaver.<init>
20:50:27.205 main > org.aspectj.weaver.bcel.BcelWeaver.prepareForWeave
org.aspectj.weaver.bcel.BcelWeaver@4d61f10f
20:50:27.211 main < org.aspectj.weaver.bcel.BcelWeaver.prepareForWeave



20:50:33.490 main > org.aspectj.weaver.tools.WeavingAdaptor.weaveClass
org.aspectj.weaver.tools.WeavingAdaptor@7d15d06c test.Test, byte[731]
20:50:33.491 main ? [WeavingAdaptor] debug weaving 'test.Test'
20:50:33.633 main > org.aspectj.weaver.bcel.BcelWeaver.weave
org.aspectj.weaver.bcel.BcelWeaver@4d61f10f
org.aspectj.weaver.tools.WeavingAdaptor$WeavingClassFileProvider@64bef361
20:50:33.641 main > org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify
org.aspectj.weaver.bcel.BcelWeaver@4d61f10f
org.aspectj.weaver.bcel.UnwovenClassFile@4c2b349d,
org.aspectj.weaver.bcel.BcelObjectType@288b567c,
org.aspectj.weaver.tools.WeavingAdaptor$WeavingClassFileProvider$1@53dafbaf
20:50:33.647 main < org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify
20:50:33.647 main < org.aspectj.weaver.bcel.BcelWeaver.weave
java.util.ArrayList(1)
20:50:33.647 main < org.aspectj.weaver.tools.WeavingAdaptor.weaveClass byte[731]


Thank you in advance for your help!

Best regards,
	Silviu

Back to the top