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