I've tried to do it like example suggests and spotted the following problem :

anonymous wrote : 
  | java.lang.ExceptionInInitializerError
  |              at 
com.supportwizard.gui2.patchers.PatcherRegistry.createRealPatchers(PatcherRegistry.java:488)
  |              at 
com.supportwizard.gui2.patchers.PatcherRegistry.getAllPatchers(PatcherRegistry.java:604)
  |              at 
com.supportwizard.gui2.patchers.PatcherRegistry.getPatchersForKB(PatcherRegistry.java:570)
  |              at 
com.supportwizard.patchers.interfaces.PatcherRegistryInterfaceWrapper.getPatchersForKB(PatcherRegistryInterfaceWrapper.java:48)
  |              at 
com.supportwizard.patchers.ejb.PatcherManagerBean.patch(PatcherManagerBean.java:97)
  |              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |      [...]
  |              at $Proxy1190.patch(Unknown Source)
  |              at 
com.supportwizard.gui2.servlets.patchers.StartupChecker.patchProject(StartupChecker.java:164)
  |              at 
com.supportwizard.gui2.servlets.patchers.StartupChecker.performStartupPatchCheck(StartupChecker.java:103)
  |              at 
com.supportwizard.gui2.servlets.patchers.KbCheckServlet.init(KbCheckServlet.java:94)
  |              at javax.servlet.GenericServlet.init(GenericServlet.java:211)
  |      [...]
  |              at java.lang.Thread.run(Thread.java:595)
  |      Caused by: java.lang.RuntimeException: java.lang.RuntimeException: 
javassist.NotFoundException: 
com.supportwizard.gui2.patchers.patches.CreateAuditTableP     atch              
                                                                                
                                                                    at 
org.jboss.aop.pointcut.Util.matchesClassExpr(Util.java:99)                      
                                                                   [...]
  |              at 
org.jboss.aop.AspectManager.getAdvisor(AspectManager.java:459)
  |              at 
com.supportwizard.gui2.patchers.patches.CreateAuditTablePatch.(CreateAuditTablePatch.java)
  |              ... 177 more
  |      Caused by: java.lang.RuntimeException: javassist.NotFoundException: 
com.supportwizard.gui2.patchers.patches.CreateAuditTablePatch
  |              at org.jboss.aop.Advisor.hasAnnotation(Advisor.java:260)
  |              at org.jboss.aop.pointcut.Util.matchesClassExpr(Util.java:82)
  |              ... 188 more
  |      Caused by: javassist.NotFoundException: 
com.supportwizard.gui2.patchers.patches.CreateAuditTablePatch
  |              at javassist.ClassPool.get(ClassPool.java:374)
  |              at 
org.jboss.aop.annotation.PortableAnnotationElement.getClassFile(PortableAnnotationElement.java:238)
  |              at 
org.jboss.aop.annotation.PortableAnnotationElement.isAnyAnnotationPresent(PortableAnnotationElement.java:219)
  |              at org.jboss.aop.Advisor.hasAnnotation(Advisor.java:256)
  |              ... 189 more
  | 

We have a weird call logic here (I hope we will fix it soon), but nevertheless 
I don't understand why it fails. Clearly this is some classloading issue.

About the classes present in this trace: com.supportwizard.gui2.patchers.* 
classes are deployed in the .war archive. Among them there's a servlet running 
on initialization (KbCheckServlet.init). There's also one instrumented class 
here, which fails to load, CreateAuditTablePatch. In the middle there's a 
session bean call, com.supportwizard.patchers.ejb.PatcherManagerBean, which is 
packaged in a separate .jar file. This session bean calls a plain class back 
from the .war file, com.supportwizard.gui2.patchers.PatcherRegistry which is 
bound to JNDI, and I guess this is the culprit. (I.e. call chain is 
.war->.jar->.war)

AOP instrumentation clearly imposes some limits related to classloading. Are 
they described somewhere?

thanks

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3930776#3930776

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3930776


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to