Hello,

we have problems with the tomcat class loaders.

scenario:
Tomcat 4.0.4, jdk1.3
2 Applications

App1:webapps/App1/WEB-INF/lib/x.jar
App2:webapps/App2/WEB-INF/lib/x.jar (the same .jar-file)

x.jar: a.class, b.class, c.class

b.class has a Hashtable (com.sun.java.util.collections.Hashtable) as
member-variable. (Hashtable is in the directory $CATALINA_HOME/lib/).
In the Hastable are Objects of the c.class.

class a in App1 serialize class b and save it in persistence (poet-)classes
in directory ($CATALINA_HOME/lib/).
In App2 class a load the serialized class from the persistence classes and
deserialize it (--> class b).
Then, a ClassNotFoundException (class c) is thrown (see lower). Why???

class b and the Hashtable are loaded, but not class c.

It is as follows: ?
The applicationClassLoader finds the class b and then the
StandardClassLoader finds the Hashtable and then (however??) the
StandardClassLoader try to load class c. And of course the class loader
can't find the class c!


thanks
j�rgen


 at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoade
r.java:1127)
 at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoade
r.java:992)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:195)
 at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:654)
 at
java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:918)
 at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
 at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
 at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
 at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
 at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
 at com.sun.java.util.collections.Hashtable.readObject(Hashtable.java:773)
 at java.lang.reflect.Method.invoke(Native Method)
 at
java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2213)
 at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1410)
 at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
 at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2262)
 at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
 at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1411)
 at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
 at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)

-- 
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to