Hi, I'm sure I've seen something like this before. I thought it was in some Spring Framework Jiras but I can't find it on a quick look just now. It was within the last few months. Let me dig through bugzilla...
Andy 2009/11/17 Jonathan T Cone <[email protected]>: > > I'm using AspectJ LTW with Spring and having the trouble with the following > around advice: > > �...@around("execution(public com.x.y.z.payload.Payload > com.something.services..*Bean.*(com.x.y.z.payload.Payload)) && > args(payload)") > > public Object doStuff(ProceedingJoinPoint jp, Payload payload) throws > Throwable {... > > > For whatever reason, this is not intercepting and is throwing a bizarre > exception that I've included at the bottom. I have other interceptors in > the same application that use the com.x.y.z.payload.Payload class as a > parameter and return type and they work just fine. I've tried with > -Xset:bcelRepositoryCaching=false as well. > > It appears that for some reason AspectJ can't find the Payload class for > this particular advice. Below is just one example of the Exception, notice > the class name. It appears BCEL/AspectJ try a bunch of different > combinations (there are about 20 stack traces similar to this one) of > package names, none of which exist. > > I've turned on classloading logging and it appears the class gets loaded at > the end of all these exceptions. I could really use a tip here, the class > is on the classpath and I'm not having problems referencing it from the > application. In fact, I can change the advice to use a wildcard and the > code works fine in a unit test (but not when deployed to the app server). > I've tested this in 1.6.6. Any ideas what I should try next? > > > 2009-11-16 15:57:31,515 ERROR [main] org.aspectj.weaver.bcel.BcelWorld - > Unable to find class 'java.lang.com.x.y.z.payload.Payload' in repository > java.lang.ClassNotFoundException: java.lang.com.x.y.z.payload.Payload not > found. > at > org.aspectj.apache.bcel.util.NonCachingClassLoaderRepository.loadClass(NonCachingClassLoaderRepository.java:222) > at > org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:224) > at > org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:205) > at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107) > at org.aspectj.weaver.World.resolveToReferenceType(World.java:363) > at org.aspectj.weaver.World.resolve(World.java:258) > at > org.aspectj.weaver.patterns.SimpleScope.lookupType(SimpleScope.java:63) > at > org.aspectj.weaver.bcel.AtAjAttributes$BindingScope.lookupType(AtAjAttributes.java:1666) > at > org.aspectj.weaver.patterns.WildTypePattern.lookupTypeInScope(WildTypePattern.java:717) > at > org.aspectj.weaver.patterns.WildTypePattern.resolveBindingsFromFullyQualifiedTypeName(WildTypePattern.java:704) > at > org.aspectj.weaver.patterns.WildTypePattern.resolveBindings(WildTypePattern.java:632) > at > org.aspectj.weaver.patterns.SignaturePattern.resolveBindings(SignaturePattern.java:73) > at > org.aspectj.weaver.patterns.KindedPointcut.resolveBindings(KindedPointcut.java:262) > at > org.aspectj.weaver.patterns.AndPointcut.resolveBindings(AndPointcut.java:75) > at org.aspectj.weaver.patterns.Pointcut.resolve(Pointcut.java:196) > at > org.aspectj.weaver.bcel.AtAjAttributes.handleAroundAnnotation(AtAjAttributes.java:1152) > at > org.aspectj.weaver.bcel.AtAjAttributes.readAj5MethodAttributes(AtAjAttributes.java:389) > at > org.aspectj.weaver.bcel.BcelMethod.unpackAjAttributes(BcelMethod.java:186) > at org.aspectj.weaver.bcel.BcelMethod.<init>(BcelMethod.java:95) > at > org.aspectj.weaver.bcel.BcelObjectType.getDeclaredMethods(BcelObjectType.java:258) > at org.aspectj.weaver.bcel.LazyClassGen.<init>(LazyClassGen.java:297) > at > org.aspectj.weaver.bcel.BcelObjectType.getLazyClassGen(BcelObjectType.java:522) > at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1726) > at > org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1694) > at > org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1464) > at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1245) > at > org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:394) > at > org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:281) > at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:95) > at > org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52) > at > org.springframework.context.weaving.AspectJWeavingEnabler$AspectJClassBypassingClassFileTransformer.transform(AspectJWeavingEnabler.java:92) > at > org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver$FilteringClassFileTransformer.transform(InstrumentationLoadTimeWeaver.java:181) > 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.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) > at java.net.URLClassLoader.access$000(URLClassLoader.java:56) > at java.net.URLClassLoader$1.run(URLClassLoader.java:195) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:188) > at java.lang.ClassLoader.loadClass(ClassLoader.java:307) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > at java.lang.ClassLoader.loadClass(ClassLoader.java:252) > at org.springframework.util.ClassUtils.forName(ClassUtils.java:211) > at > org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:385) > at > org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1138) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryMethod(AbstractAutowireCapableBeanFactory.java:573) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:521) > at > org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1177) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:222) > at > org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:505) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:362) > at > org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:84) > at > org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:42) > at > org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:173) > at > org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:197) > at > org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109) > at > org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75) > at > org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:255) > at > org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:111) > at > org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:148) > at > org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51) > at > org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44) > at > org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27) > at > org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37) > at > org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42) > at > org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:97) > at > oracle.jdevimpl.junit.runner.junit4.JUnit4Testable.run(JUnit4Testable.java:24) > at > oracle.jdevimpl.junit.runner.TestExecution.run(TestExecution.java:27) > at > oracle.jdevimpl.junit.runner.JUnitTestRunner.main(JUnitTestRunner.java:88) > > > > > > -- > View this message in context: > http://old.nabble.com/org.aspectj.weaver.bcel.BcelWorld---Unable-to-find-class-tp26379913p26379913.html > Sent from the AspectJ - users mailing list archive at Nabble.com. > > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users > _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
