-
1. Re: Classpath/Classloader order problem
drobert_bfm Nov 13, 2002 10:56 AM (in response to drobert_bfm)BTW I just checked with jboss-3.0.4_tomcat-4.1.12: same issues (One major issue is that it ignores xerces.jar, which means that jetspeed cannot initialize itself; once I put xerces.jar in the server's lib dir, that works, but other issues arise...)
-
2. Re: Classpath/Classloader order problem
jules Nov 13, 2002 12:29 PM (in response to drobert_bfm)The problem will be this :
JetSpeed shares some common infrastructure with JBoss.
This is loaded into e.g. server/default/lib ClassLoader
When JetSpeed gets the Class it will get this copy.
When this Class tries to load another JetSpeed class it looks in server/default/lib and asks it's parent CLs. It will not find it because it is in the war.
Solutions:
Move your whole webapp into server/default/lib - No Good
Fix the common infrastructure to load new classes into Thread.currentThread().getContextClassLoader() (this will be the webapps) - difficult if you don't own tha infrastructure
Try Toggling the Java2Compliance flag in jbossweb.sar/META-INF/jboss-service.xml to make Jetty use classes packaged in war in preference to those already loaded by JBoss - should work, but will probably result in serialisation between WEB and EJB tier on inter-tier calls, so slower.
The second is the correct solution.
There may be more.
Any help ?
Jules