[jboss-user] [JBoss AOP] - Re: Dynamic AOP and User-Defined Class Loader
shu_boston
do-not-reply at jboss.com
Mon May 19 13:40:45 EDT 2008
Hi,
Thank you very much for your help. I tried what you said in the topic you created, and I have bad news and good news :P
Unfortunatelly, it still doens't work with 2.0.0 CR8, but I found it works with 1.5.6. When I override getResource(), my application is sometime required to load "Object.class" and "Throwable.class". Yes, "Object.class" not "java.lang.Object.class". Then, my classloader (getResource()) loads "java.lang.Object.class" by calling super.getResrouce("java/lang/Object.class") instead of loading "Object.class", however, I still got the following exception.
| Caused by: java.lang.RuntimeException: cannot find Object: java.lang.Object found in Object.class
| at javassist.CtClassType.getClassFile2(CtClassType.java:192)
| at javassist.CtClassType.prune(CtClassType.java:1302)
| at javassist.scopedpool.ScopedClassPool.cacheCtClass(ScopedClassPool.java:227)
| at javassist.ClassPool.get0(ClassPool.java:467)
| at javassist.ClassPool.get(ClassPool.java:433)
| at javassist.compiler.MemberResolver.lookupClass0(MemberResolver.java:425)
| at javassist.compiler.MemberResolver.lookupClass(MemberResolver.java:389)
| at javassist.compiler.MemberResolver.lookupClassByJvmName(MemberResolver.java:310)
| at javassist.compiler.MemberResolver.resolveJvmClassName(MemberResolver.java:460)
| at javassist.compiler.MemberCodeGen.resolveClassName(MemberCodeGen.java:1140)
| at javassist.compiler.CodeGen.atDeclarator(CodeGen.java:711)
| at javassist.compiler.ast.Declarator.accept(Declarator.java:99)
| at javassist.compiler.CodeGen.atStmnt(CodeGen.java:350)
| at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
| at javassist.compiler.CodeGen.atStmnt(CodeGen.java:350)
| at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
| at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:291)
| at javassist.compiler.Javac.compileBody(Javac.java:222)
| at javassist.CtBehavior.setBody(CtBehavior.java:360)
| at javassist.CtBehavior.setBody(CtBehavior.java:334)
| at javassist.CtNewMethod.make(CtNewMethod.java:135)
| at javassist.CtNewMethod.make(CtNewMethod.java:104)
| at org.jboss.aop.instrument.JoinPointGenerator.addAspectFieldAndGetter(JoinPointGenerator.java:589)
| at org.jboss.aop.instrument.JoinPointGenerator.initialiseAdviceInfosAndAddFields(JoinPointGenerator.java:568)
| at org.jboss.aop.instrument.JoinPointGenerator.generateJoinpointClass(JoinPointGenerator.java:409)
| at org.jboss.aop.instrument.JoinPointGenerator.doGenerateJoinPointClass(JoinPointGenerator.java:287)
| ... 7 more
|
I'm actually fine now since my code works with 1.5.6 thanks to your advice, however I think this is a bug in 2.0.0 CR8. Hope this help you.
Thanks
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4151830#4151830
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4151830
More information about the jboss-user
mailing list