[jboss-user] [JBoss AOP] New message: "Cannot get AOP to run in webapp"

Dennis Kuehn do-not-reply at jboss.com
Fri Mar 5 12:07:04 EST 2010


User development,

A new message was posted in the thread "Cannot get AOP to run in webapp":

http://community.jboss.org/message/530222#530222

Author  : Dennis Kuehn
Profile : http://community.jboss.org/people/mwx.dennis

Message:
--------------------------------------------------------------
Hi!
 
After working with JBoss AOP successfully (I'm using standalone mode with loadtime instrumentation) I tried to instrument a web application running inside a Tomcat container.
This worked well for a very simple webapp but now, with a big and complex app, I'm in trouble.
 
Whatever class I'm trying to instrument, no matter if it exists or not, I get the following log output when Tomcat starts:
 
[ERROR] Error converting class .. Do verbose mode if you want full stack trace.   @org.jboss.aop.util.logging.AOPLogger.error
 
How do I "do verbose mode"? I'm using log4j.
 
Problems get more concrete when I try to instrument a class which actually exists in the project:
 
javassist.CannotCompileException: [source error] getDomainName(java.lang.Class,boolean) not found in org.jboss.aop.Domain
        at javassist.CtBehavior.setBody(CtBehavior.java:368)
        at javassist.CtBehavior.setBody(CtBehavior.java:334)
        at javassist.CtNewMethod.make(CtNewMethod.java:137)
        at org.jboss.aop.instrument.GeneratedAdvisorInstrumentor.createAdvisorCtors(GeneratedAdvisorInstrumentor.java:427)
        at org.jboss.aop.instrument.GeneratedAdvisorInstrumentor.createAdvisorClass(GeneratedAdvisorInstrumentor.java:313)
        at org.jboss.aop.instrument.GeneratedAdvisorInstrumentor.doSetupBasics(GeneratedAdvisorInstrumentor.java:561)
        at org.jboss.aop.instrument.Instrumentor.setupBasics(Instrumentor.java:949)
        at org.jboss.aop.instrument.MethodExecutionTransformer.instrument(MethodExecutionTransformer.java:143)
        at org.jboss.aop.instrument.Instrumentor.transform(Instrumentor.java:744)
        at org.jboss.aop.instrument.GeneratedAdvisorInstrumentor.transform(GeneratedAdvisorInstrumentor.java:117)
        at org.jboss.aop.SuperClassesFirstWeavingStrategy.instrumentClass(SuperClassesFirstWeavingStrategy.java:202)
        at org.jboss.aop.SuperClassesFirstWeavingStrategy.translate(SuperClassesFirstWeavingStrategy.java:69)
        at org.jboss.aop.AspectManager.translate(AspectManager.java:1071)
        at org.jboss.aop.AspectManager.transform(AspectManager.java:1015)
        at org.jboss.aop.standalone.AOPTransformer.aspectTransform(AOPTransformer.java:87)
        at org.jboss.aop.standalone.AOPTransformer.transform(AOPTransformer.java:75)
        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 org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
        at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at my.package.MyClass.<clinit>(MyClass.java:39)
...
Caused by: compile error: getDomainName(java.lang.Class,boolean) not found in org.jboss.aop.Domain
        at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:716)
        at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:681)
        at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
        at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
        at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:241)
        at javassist.compiler.CodeGen.atDeclarator(CodeGen.java:725)
        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)
 
I don't have a clue what to do with this and would be really happy to get some hints.

--------------------------------------------------------------

To reply to this message visit the message page: http://community.jboss.org/message/530222#530222




More information about the jboss-user mailing list