Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] AspectJ weaves classes not included in aop.xml and throws NullPointerException

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

Back to the top