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