Problem using custom classloader with load time weaving

View: New views
2 Messages — Rating Filter:   Alert me  

Problem using custom classloader with load time weaving

by Jesse Englert :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I'm having some trouble loading aspect classes during load time weaving with my custom ClassLoader. Here's the senario:

1. All non-aspect classes are compiled with Sun JDK 1.6.
2. All aspect classes are compiled with AspectJ 1.6.4.
3. All .class files, including aspect .class files, are encrypted. There is a custom ClassLoader that knows how to find and decrypt these .class files prior to defining them in the JVM.  This custom ClassLoader is set to be the system class loader by passing in the following argument to the JVM: "-Djava.system.class.loader=foo.CustomClassLoader"
4. AspectJ load time weaving is being done by an agent using the "-javaagent:lib/aspectjweaver.jar" JVM argument.

>From what I can tell AspectJ is not using my CustomClassLoader to load the aspect .class files. I have confirmed that everything works when I don't encrypt the .class files and thus class loading is delegated to my CustomClassLoader's parent ClassLoader which happens to be sun.misc.Launcher$AppClassLoader.

Below is a lengthly trace output from AspectJ. Any statement with a "CustomClassLoader -" prefix was added by me to my CustomClassLoader.

Any ideas?
Jesse Englert

CustomClassLoader - Parent set to: sun.misc.Launcher$AppClassLoader
TraceFactory.instance=org.aspectj.weaver.tools.DefaultTraceFactory@cdfc9c
16:28:07.375 main > org.aspectj.weaver.loadtime.Aj.<init> org.aspectj.weaver.loadtime.Aj@1b16e52 null, sun.misc.Launcher$AppClassLoader@1ea2dfe
16:28:07.393 main < org.aspectj.weaver.loadtime.Aj.<init>
CustomClassLoader - Started decrypting class: foo.AppSpecificServiceProxy
CustomClassLoader - Finished decrypting class: foo.AppSpecificServiceProxy
16:28:07.416 main > org.aspectj.weaver.loadtime.Aj.preProcess org.aspectj.weaver.loadtime.Aj@1b16e52 foo/AppSpecificServiceProxy, byte[3621], foo.util.CustomClassLoader@13582d
16:28:07.416 main - org.aspectj.weaver.loadtime.Aj.preProcess org.aspectj.weaver.loadtime.Aj@1b16e52 sun.misc.Launcher$AppClassLoader@1ea2dfe, foo.util.CustomClassLoader@13582d
16:28:07.431 main > org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.<init> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
16:28:07.431 main < org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.<init>
16:28:07.444 main I [CustomClassLoader@13582d] info AspectJ Weaver Version 1.6.4 built on Thursday Apr 2, 2009 at 16:03:17 GMT
16:28:07.445 main > org.aspectj.weaver.loadtime.DefaultWeavingContext.getDefinitions org.aspectj.weaver.loadtime.DefaultWeavingContext@cec0c5 goo, org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
16:28:07.445 main > org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
16:28:07.445 main I [CustomClassLoader@13582d] info register classloader foo.util.CustomClassLoader@13582d
16:28:07.445 main - org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7 META-INF/aop.xml;META-INF/aop-ajc.xml;org/aspectj/aop.xml
16:28:07.446 main - org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7 jar:file:/C:/src/Foo.exe!/META-INF/aop.xml
16:28:07.446 main I [CustomClassLoader@13582d] info using configuration file:/C:/src/Foo.exe!/META-INF/aop.xml
16:28:07.465 main - org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7 jar:file:/C:/src/Foo.exe!/META-INF/aop-ajc.xml
16:28:07.465 main I [CustomClassLoader@13582d] info using configuration file:/C:/src/Foo.exe!/META-INF/aop-ajc.xml
16:28:07.466 main < org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions java.util.ArrayList(2)
16:28:07.466 main < org.aspectj.weaver.loadtime.DefaultWeavingContext.getDefinitions java.util.ArrayList(2)
16:28:07.483 main > org.aspectj.weaver.World$TypeMap.<init> org.aspectj.weaver.World$TypeMap@c7b00c org.aspectj.weaver.ltw.LTWWorld@1f6f296
16:28:07.483 main < org.aspectj.weaver.World$TypeMap.<init>
16:28:07.486 main > org.aspectj.weaver.Lint.<init> org.aspectj.weaver.Lint@1e13d52 org.aspectj.weaver.ltw.LTWWorld@1f6f296
16:28:07.486 main < org.aspectj.weaver.Lint.<init>
16:28:07.486 main > org.aspectj.weaver.World.<init> org.aspectj.weaver.ltw.LTWWorld@1f6f296
16:28:07.488 main > org.aspectj.weaver.Dump.registerNode class org.aspectj.weaver.ltw.LTWWorld, org.aspectj.weaver.ltw.LTWWorld@1f6f296
16:28:07.488 main < org.aspectj.weaver.Dump.registerNode 1
16:28:07.500 main < org.aspectj.weaver.World.<init>
16:28:07.516 main > org.aspectj.weaver.bcel.BcelWeaver.<init> org.aspectj.weaver.bcel.BcelWeaver@a17083 org.aspectj.weaver.ltw.LTWWorld@1f6f296
16:28:07.516 main < org.aspectj.weaver.bcel.BcelWeaver.<init>
16:28:07.516 main > org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7 java.util.ArrayList(2)
[CustomClassLoader@13582d] info AspectJ Weaver Version 1.6.4 built on Thursday Apr 2, 2009 at 16:03:17 GMT
[CustomClassLoader@13582d] info register classloader foo.util.CustomClassLoader@13582d
[CustomClassLoader@13582d] info using configuration file:/C:/src/Foo.exe!/META-INF/aop.xml
[CustomClassLoader@13582d] info using configuration file:/C:/src/Foo.exe!/META-INF/aop-ajc.xml
16:28:07.521 main > org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7 org.aspectj.weaver.bcel.BcelWeaver@a17083, foo.util.CustomClassLoader@13582d, java.util.ArrayList(2)
16:28:07.521 main I [CustomClassLoader@13582d] info register aspect foo.CoherentOperationsAspect
[CustomClassLoader@13582d] info register aspect foo.CoherentOperationsAspect
16:28:07.521 main > org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect org.aspectj.weaver.bcel.BcelWeaver@a17083 foo.CoherentOperationsAspect
16:28:07.525 main E Unable to find class 'foo.CoherentOperationsAspect' in repository java.lang.ClassNotFoundException: foo.CoherentOperationsAspect not found - unable to determine URL
java.lang.ClassNotFoundException: foo.CoherentOperationsAspect not found - unable to determine URL
   at org.aspectj.apache.bcel.util.ClassLoaderRepository.loadClass(ClassLoaderRepository.java:268)
   at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:379)
   at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
   at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107)
   at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
   at org.aspectj.weaver.World.resolve(World.java:278)
   at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:158)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
   at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
   at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
   at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
   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 foo.util.CustomClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
16:28:07.527 main E Unable to find class 'foo.ataclient.aspects$CoherentOperationsAspect' in repository java.lang.ClassNotFoundException: foo.ataclient.aspects$CoherentOperationsAspect not found - unable to determine URL
java.lang.ClassNotFoundException: foo.ataclient.aspects$CoherentOperationsAspect not found - unable to determine URL
   at org.aspectj.apache.bcel.util.ClassLoaderRepository.loadClass(ClassLoaderRepository.java:268)
   at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:379)
   at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
   at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107)
   at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
   at org.aspectj.weaver.World.resolve(World.java:278)
   at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:172)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
   at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
   at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
   at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
   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 foo.util.CustomClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
16:28:07.528 main E Unable to find class 'foo.ataclient$aspects$CoherentOperationsAspect' in repository java.lang.ClassNotFoundException: foo.ataclient$aspects$CoherentOperationsAspect not found - unable to determine URL
java.lang.ClassNotFoundException: foo.ataclient$aspects$CoherentOperationsAspect not found - unable to determine URL
   at org.aspectj.apache.bcel.util.ClassLoaderRepository.loadClass(ClassLoaderRepository.java:268)
   at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:379)
   at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
   at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107)
   at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
   at org.aspectj.weaver.World.resolve(World.java:278)
   at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:172)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
   at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
   at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
   at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
   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 foo.util.CustomClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
16:28:07.528 main E Unable to find class 'foo$ataclient$aspects$CoherentOperationsAspect' in repository java.lang.ClassNotFoundException: foo$ataclient$aspects$CoherentOperationsAspect not found - unable to determine URL
java.lang.ClassNotFoundException: foo$ataclient$aspects$CoherentOperationsAspect not found - unable to determine URL
   at org.aspectj.apache.bcel.util.ClassLoaderRepository.loadClass(ClassLoaderRepository.java:268)
   at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:379)
   at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
   at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107)
   at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
   at org.aspectj.weaver.World.resolve(World.java:278)
   at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:172)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
   at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
   at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
   at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
   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 foo.util.CustomClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
16:28:07.529 main E Unable to find class 'com$atasd$ataclient$aspects$CoherentOperationsAspect' in repository java.lang.ClassNotFoundException: com$atasd$ataclient$aspects$CoherentOperationsAspect not found - unable to determine URL
java.lang.ClassNotFoundException: com$atasd$ataclient$aspects$CoherentOperationsAspect not found - unable to determine URL
   at org.aspectj.apache.bcel.util.ClassLoaderRepository.loadClass(ClassLoaderRepository.java:268)
   at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:379)
   at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
   at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107)
   at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
   at org.aspectj.weaver.World.resolve(World.java:278)
   at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:172)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
   at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
   at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
   at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
   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 foo.util.CustomClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
16:28:07.530 main < org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect java.lang.RuntimeException: Cannot register non aspect: com$atasd$ataclient$aspects$CoherentOperationsAspect , foo.CoherentOperationsAspect
16:28:07.530 main E register definition failed java.lang.RuntimeException: Cannot register non aspect: com$atasd$ataclient$aspects$CoherentOperationsAspect , foo.CoherentOperationsAspect
java.lang.RuntimeException: Cannot register non aspect: com$atasd$ataclient$aspects$CoherentOperationsAspect , foo.CoherentOperationsAspect
   at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:219)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
   at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
   at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
   at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
   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 foo.util.CustomClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
16:28:07.531 main W [CustomClassLoader@13582d] warning register definition failed -- (RuntimeException) Cannot register non aspect: com$atasd$ataclient$aspects$CoherentOperationsAspect , foo.CoherentOperationsAspect
Cannot register non aspect: com$atasd$ataclient$aspects$CoherentOperationsAspect , foo.CoherentOperationsAspect
java.lang.RuntimeException: Cannot register non aspect: com$atasd$ataclient$aspects$CoherentOperationsAspect , foo.CoherentOperationsAspect
   at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:219)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
   at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
   at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
   at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
   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 foo.util.CustomClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
java.lang.RuntimeException: Cannot register non aspect: com$atasd$ataclient$aspects$CoherentOperationsAspect , foo.CoherentOperationsAspect
java.lang.RuntimeException: Cannot register non aspect: com$atasd$ataclient$aspects$CoherentOperationsAspect , foo.CoherentOperationsAspect
   at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:219)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
   at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
   at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
   at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
   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 foo.util.CustomClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
[CustomClassLoader@13582d] warning register definition failed -- (RuntimeException) Cannot register non aspect: com$atasd$ataclient$aspects$CoherentOperationsAspect , foo.CoherentOperationsAspect
Cannot register non aspect: com$atasd$ataclient$aspects$CoherentOperationsAspect , foo.CoherentOperationsAspect
java.lang.RuntimeException: Cannot register non aspect: com$atasd$ataclient$aspects$CoherentOperationsAspect , foo.CoherentOperationsAspect
   at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:219)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
   at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
   at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
   at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
   at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
   at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
   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 foo.util.CustomClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

16:28:07.532 main < org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions false
16:28:07.532 main > org.aspectj.weaver.tools.WeavingAdaptor.disable org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
16:28:07.532 main < org.aspectj.weaver.tools.WeavingAdaptor.disable
16:28:07.532 main < org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize false
16:28:07.532 main > org.aspectj.weaver.tools.WeavingAdaptor.weaveClass org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7 foo/AppSpecificServiceProxy, byte[3621]
16:28:07.532 main < org.aspectj.weaver.tools.WeavingAdaptor.weaveClass false
16:28:07.532 main > org.aspectj.weaver.Dump.dumpOnExit org.aspectj.weaver.tools.WeavingAdaptor$WeavingAdaptorMessageHolder@1431340
16:28:07.532 main > org.aspectj.weaver.Dump.shouldDumpOnExit org.aspectj.weaver.tools.WeavingAdaptor$WeavingAdaptorMessageHolder@1431340
16:28:07.532 main - org.aspectj.weaver.Dump.shouldDumpOnExit abort
16:28:07.532 main < org.aspectj.weaver.Dump.shouldDumpOnExit false
16:28:07.532 main < org.aspectj.weaver.Dump.dumpOnExit Excluded
16:28:07.532 main < org.aspectj.weaver.loadtime.Aj.preProcess byte[3621]



_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: Problem using custom classloader with load time weaving

by Andy Clement :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Jesse,

Please can you try the alternate loading mechanism we provide?

You need to set another option in your aop.xml

<weaver options="-Xset:bcelRepositoryCaching=false"/>

Merge that Xset option in with your other options.  If you already
have an Xset, just add ",bcelRepositoryCaching=false" to your existing
Xset option.

Andy.

2009/6/12 Jesse Englert <jenglert@...>:

> I'm having some trouble loading aspect classes during load time weaving with
> my custom ClassLoader. Here's the senario:
>
> 1. All non-aspect classes are compiled with Sun JDK 1.6.
> 2. All aspect classes are compiled with AspectJ 1.6.4.
> 3. All .class files, including aspect .class files, are encrypted. There is
> a custom ClassLoader that knows how to find and decrypt these .class files
> prior to defining them in the JVM.  This custom ClassLoader is set to be the
> system class loader by passing in the following argument to the JVM:
> "-Djava.system.class.loader=foo.CustomClassLoader"
> 4. AspectJ load time weaving is being done by an agent using the
> "-javaagent:lib/aspectjweaver.jar" JVM argument.
>
> >From what I can tell AspectJ is not using my CustomClassLoader to load the
> aspect .class files. I have confirmed that everything works when I don't
> encrypt the .class files and thus class loading is delegated to my
> CustomClassLoader's parent ClassLoader which happens to be
> sun.misc.Launcher$AppClassLoader.
>
> Below is a lengthly trace output from AspectJ. Any statement with a
> "CustomClassLoader -" prefix was added by me to my CustomClassLoader.
>
> Any ideas?
> Jesse Englert
>
> CustomClassLoader - Parent set to: sun.misc.Launcher$AppClassLoader
> TraceFactory.instance=org.aspectj.weaver.tools.DefaultTraceFactory@cdfc9c
> 16:28:07.375 main > org.aspectj.weaver.loadtime.Aj.<init>
> org.aspectj.weaver.loadtime.Aj@1b16e52 null,
> sun.misc.Launcher$AppClassLoader@1ea2dfe
> 16:28:07.393 main < org.aspectj.weaver.loadtime.Aj.<init>
> CustomClassLoader - Started decrypting class: foo.AppSpecificServiceProxy
> CustomClassLoader - Finished decrypting class: foo.AppSpecificServiceProxy
> 16:28:07.416 main > org.aspectj.weaver.loadtime.Aj.preProcess
> org.aspectj.weaver.loadtime.Aj@1b16e52 foo/AppSpecificServiceProxy,
> byte[3621], foo.util.CustomClassLoader@13582d
> 16:28:07.416 main - org.aspectj.weaver.loadtime.Aj.preProcess
> org.aspectj.weaver.loadtime.Aj@1b16e52
> sun.misc.Launcher$AppClassLoader@1ea2dfe, foo.util.CustomClassLoader@13582d
> 16:28:07.431 main >
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.<init>
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
> 16:28:07.431 main <
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.<init>
> 16:28:07.444 main I [CustomClassLoader@13582d] info AspectJ Weaver Version
> 1.6.4 built on Thursday Apr 2, 2009 at 16:03:17 GMT
> 16:28:07.445 main >
> org.aspectj.weaver.loadtime.DefaultWeavingContext.getDefinitions
> org.aspectj.weaver.loadtime.DefaultWeavingContext@cec0c5 goo,
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
> 16:28:07.445 main >
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
> 16:28:07.445 main I [CustomClassLoader@13582d] info register classloader
> foo.util.CustomClassLoader@13582d
> 16:28:07.445 main -
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
> META-INF/aop.xml;META-INF/aop-ajc.xml;org/aspectj/aop.xml
> 16:28:07.446 main -
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
> jar:file:/C:/src/Foo.exe!/META-INF/aop.xml
> 16:28:07.446 main I [CustomClassLoader@13582d] info using configuration
> file:/C:/src/Foo.exe!/META-INF/aop.xml
> 16:28:07.465 main -
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
> jar:file:/C:/src/Foo.exe!/META-INF/aop-ajc.xml
> 16:28:07.465 main I [CustomClassLoader@13582d] info using configuration
> file:/C:/src/Foo.exe!/META-INF/aop-ajc.xml
> 16:28:07.466 main <
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions
> java.util.ArrayList(2)
> 16:28:07.466 main <
> org.aspectj.weaver.loadtime.DefaultWeavingContext.getDefinitions
> java.util.ArrayList(2)
> 16:28:07.483 main > org.aspectj.weaver.World$TypeMap.<init>
> org.aspectj.weaver.World$TypeMap@c7b00c
> org.aspectj.weaver.ltw.LTWWorld@1f6f296
> 16:28:07.483 main < org.aspectj.weaver.World$TypeMap.<init>
> 16:28:07.486 main > org.aspectj.weaver.Lint.<init>
> org.aspectj.weaver.Lint@1e13d52 org.aspectj.weaver.ltw.LTWWorld@1f6f296
> 16:28:07.486 main < org.aspectj.weaver.Lint.<init>
> 16:28:07.486 main > org.aspectj.weaver.World.<init>
> org.aspectj.weaver.ltw.LTWWorld@1f6f296
> 16:28:07.488 main > org.aspectj.weaver.Dump.registerNode class
> org.aspectj.weaver.ltw.LTWWorld, org.aspectj.weaver.ltw.LTWWorld@1f6f296
> 16:28:07.488 main < org.aspectj.weaver.Dump.registerNode 1
> 16:28:07.500 main < org.aspectj.weaver.World.<init>
> 16:28:07.516 main > org.aspectj.weaver.bcel.BcelWeaver.<init>
> org.aspectj.weaver.bcel.BcelWeaver@a17083
> org.aspectj.weaver.ltw.LTWWorld@1f6f296
> 16:28:07.516 main < org.aspectj.weaver.bcel.BcelWeaver.<init>
> 16:28:07.516 main >
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
> java.util.ArrayList(2)
> [CustomClassLoader@13582d] info AspectJ Weaver Version 1.6.4 built on
> Thursday Apr 2, 2009 at 16:03:17 GMT
> [CustomClassLoader@13582d] info register classloader
> foo.util.CustomClassLoader@13582d
> [CustomClassLoader@13582d] info using configuration
> file:/C:/src/Foo.exe!/META-INF/aop.xml
> [CustomClassLoader@13582d] info using configuration
> file:/C:/src/Foo.exe!/META-INF/aop-ajc.xml
> 16:28:07.521 main >
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
> org.aspectj.weaver.bcel.BcelWeaver@a17083,
> foo.util.CustomClassLoader@13582d, java.util.ArrayList(2)
> 16:28:07.521 main I [CustomClassLoader@13582d] info register aspect
> foo.CoherentOperationsAspect
> [CustomClassLoader@13582d] info register aspect foo.CoherentOperationsAspect
> 16:28:07.521 main > org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect
> org.aspectj.weaver.bcel.BcelWeaver@a17083 foo.CoherentOperationsAspect
> 16:28:07.525 main E Unable to find class 'foo.CoherentOperationsAspect' in
> repository java.lang.ClassNotFoundException: foo.CoherentOperationsAspect
> not found - unable to determine URL
> java.lang.ClassNotFoundException: foo.CoherentOperationsAspect not found -
> unable to determine URL
>    at
> org.aspectj.apache.bcel.util.ClassLoaderRepository.loadClass(ClassLoaderRepository.java:268)
>    at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:379)
>    at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
>    at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107)
>    at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
>    at org.aspectj.weaver.World.resolve(World.java:278)
>    at
> org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:158)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
>    at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
>    at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
>    at
> org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
>    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 foo.util.CustomClassLoader.findClass(Unknown Source)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> 16:28:07.527 main E Unable to find class
> 'foo.ataclient.aspects$CoherentOperationsAspect' in repository
> java.lang.ClassNotFoundException:
> foo.ataclient.aspects$CoherentOperationsAspect not found - unable to
> determine URL
> java.lang.ClassNotFoundException:
> foo.ataclient.aspects$CoherentOperationsAspect not found - unable to
> determine URL
>    at
> org.aspectj.apache.bcel.util.ClassLoaderRepository.loadClass(ClassLoaderRepository.java:268)
>    at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:379)
>    at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
>    at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107)
>    at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
>    at org.aspectj.weaver.World.resolve(World.java:278)
>    at
> org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:172)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
>    at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
>    at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
>    at
> org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
>    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 foo.util.CustomClassLoader.findClass(Unknown Source)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> 16:28:07.528 main E Unable to find class
> 'foo.ataclient$aspects$CoherentOperationsAspect' in repository
> java.lang.ClassNotFoundException:
> foo.ataclient$aspects$CoherentOperationsAspect not found - unable to
> determine URL
> java.lang.ClassNotFoundException:
> foo.ataclient$aspects$CoherentOperationsAspect not found - unable to
> determine URL
>    at
> org.aspectj.apache.bcel.util.ClassLoaderRepository.loadClass(ClassLoaderRepository.java:268)
>    at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:379)
>    at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
>    at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107)
>    at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
>    at org.aspectj.weaver.World.resolve(World.java:278)
>    at
> org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:172)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
>    at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
>    at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
>    at
> org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
>    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 foo.util.CustomClassLoader.findClass(Unknown Source)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> 16:28:07.528 main E Unable to find class
> 'foo$ataclient$aspects$CoherentOperationsAspect' in repository
> java.lang.ClassNotFoundException:
> foo$ataclient$aspects$CoherentOperationsAspect not found - unable to
> determine URL
> java.lang.ClassNotFoundException:
> foo$ataclient$aspects$CoherentOperationsAspect not found - unable to
> determine URL
>    at
> org.aspectj.apache.bcel.util.ClassLoaderRepository.loadClass(ClassLoaderRepository.java:268)
>    at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:379)
>    at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
>    at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107)
>    at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
>    at org.aspectj.weaver.World.resolve(World.java:278)
>    at
> org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:172)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
>    at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
>    at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
>    at
> org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
>    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 foo.util.CustomClassLoader.findClass(Unknown Source)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> 16:28:07.529 main E Unable to find class
> 'com$atasd$ataclient$aspects$CoherentOperationsAspect' in repository
> java.lang.ClassNotFoundException:
> com$atasd$ataclient$aspects$CoherentOperationsAspect not found - unable to
> determine URL
> java.lang.ClassNotFoundException:
> com$atasd$ataclient$aspects$CoherentOperationsAspect not found - unable to
> determine URL
>    at
> org.aspectj.apache.bcel.util.ClassLoaderRepository.loadClass(ClassLoaderRepository.java:268)
>    at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:379)
>    at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:362)
>    at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107)
>    at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
>    at org.aspectj.weaver.World.resolve(World.java:278)
>    at
> org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:172)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
>    at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
>    at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
>    at
> org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
>    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 foo.util.CustomClassLoader.findClass(Unknown Source)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> 16:28:07.530 main < org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect
> java.lang.RuntimeException: Cannot register non aspect:
> com$atasd$ataclient$aspects$CoherentOperationsAspect ,
> foo.CoherentOperationsAspect
> 16:28:07.530 main E register definition failed java.lang.RuntimeException:
> Cannot register non aspect:
> com$atasd$ataclient$aspects$CoherentOperationsAspect ,
> foo.CoherentOperationsAspect
> java.lang.RuntimeException: Cannot register non aspect:
> com$atasd$ataclient$aspects$CoherentOperationsAspect ,
> foo.CoherentOperationsAspect
>    at
> org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:219)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
>    at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
>    at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
>    at
> org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
>    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 foo.util.CustomClassLoader.findClass(Unknown Source)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> 16:28:07.531 main W [CustomClassLoader@13582d] warning register definition
> failed -- (RuntimeException) Cannot register non aspect:
> com$atasd$ataclient$aspects$CoherentOperationsAspect ,
> foo.CoherentOperationsAspect
> Cannot register non aspect:
> com$atasd$ataclient$aspects$CoherentOperationsAspect ,
> foo.CoherentOperationsAspect
> java.lang.RuntimeException: Cannot register non aspect:
> com$atasd$ataclient$aspects$CoherentOperationsAspect ,
> foo.CoherentOperationsAspect
>    at
> org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:219)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
>    at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
>    at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
>    at
> org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
>    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 foo.util.CustomClassLoader.findClass(Unknown Source)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> java.lang.RuntimeException: Cannot register non aspect:
> com$atasd$ataclient$aspects$CoherentOperationsAspect ,
> foo.CoherentOperationsAspect
> java.lang.RuntimeException: Cannot register non aspect:
> com$atasd$ataclient$aspects$CoherentOperationsAspect ,
> foo.CoherentOperationsAspect
>    at
> org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:219)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
>    at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
>    at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
>    at
> org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
>    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 foo.util.CustomClassLoader.findClass(Unknown Source)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> [CustomClassLoader@13582d] warning register definition failed --
> (RuntimeException) Cannot register non aspect:
> com$atasd$ataclient$aspects$CoherentOperationsAspect ,
> foo.CoherentOperationsAspect
> Cannot register non aspect:
> com$atasd$ataclient$aspects$CoherentOperationsAspect ,
> foo.CoherentOperationsAspect
> java.lang.RuntimeException: Cannot register non aspect:
> com$atasd$ataclient$aspects$CoherentOperationsAspect ,
> foo.CoherentOperationsAspect
>    at
> org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:219)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
>    at
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:269)
>    at
> org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:274)
>    at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:252)
>    at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:89)
>    at
> org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
>    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 foo.util.CustomClassLoader.findClass(Unknown Source)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
>
> 16:28:07.532 main <
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions
> false
> 16:28:07.532 main > org.aspectj.weaver.tools.WeavingAdaptor.disable
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
> 16:28:07.532 main < org.aspectj.weaver.tools.WeavingAdaptor.disable
> 16:28:07.532 main <
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize false
> 16:28:07.532 main > org.aspectj.weaver.tools.WeavingAdaptor.weaveClass
> org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor@16b13c7
> foo/AppSpecificServiceProxy, byte[3621]
> 16:28:07.532 main < org.aspectj.weaver.tools.WeavingAdaptor.weaveClass false
> 16:28:07.532 main > org.aspectj.weaver.Dump.dumpOnExit
> org.aspectj.weaver.tools.WeavingAdaptor$WeavingAdaptorMessageHolder@1431340
> 16:28:07.532 main > org.aspectj.weaver.Dump.shouldDumpOnExit
> org.aspectj.weaver.tools.WeavingAdaptor$WeavingAdaptorMessageHolder@1431340
> 16:28:07.532 main - org.aspectj.weaver.Dump.shouldDumpOnExit abort
> 16:28:07.532 main < org.aspectj.weaver.Dump.shouldDumpOnExit false
> 16:28:07.532 main < org.aspectj.weaver.Dump.dumpOnExit Excluded
> 16:28:07.532 main < org.aspectj.weaver.loadtime.Aj.preProcess byte[3621]
>
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users