AspectJ 1.7.1, LTW.
We use custom classloader that loads classes from byte[] array.
Class loading looks like this:
Class clazz = new MyClassLoader().defineClass(classPackage + className,
bytecode, 0, bytecode.length);
This code executes concurrently.
Classes from classPackage are not included for weaving in aop.xml.
Moreover, AspectJ reports that it can't find configuration for
MyClassLoader.
>From time to time we are getting the following exceptions:
SEVERE: my.package.MyClass
java.lang.NullPointerException
at org.aspectj.weaver.Dump.dumpOnExit(Dump.java:163)
at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:100)
at
org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54)
at
sun.instrument.TransformerManager.transform(TransformerManager.java:169)
at
sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
at MyClassLoader.defineClass
...
Why AspectJ tries to weave this classes?
Why it fails with NullPointerException?
Sergii
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users