[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