Bonjour,
Dans mon appli, le code suivant lève une exception:
java.lang.ClassNotFoundException: xxx
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // Try to unserialize byte buffer bis = new ByteArrayInputStream(b); ois = new ObjectInputStream(bis); Object ser = ois.readObject();
at java.lang.Class.forName(Ljava.lang.String;ZLjava.lang.ClassLoader; )Ljava.lang.Class;(Unknown Source)
at java.io.ObjectInputStream.resolveClass(Ljava.io.ObjectStreamClass; )Ljava.lang.Class;(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Z)Ljava.io.ObjectStreamClass;(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Z)Ljava.io.ObjectStreamClass;(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Unknown Source)
at java.io.ObjectInputStream.readObject0(Z)Ljava.lang.Object;(Unknown Source)
at java.io.ObjectInputStream.readObject()Ljava.lang.Object;(Unknown Source)
Pour info:
-> la classe xxx implémente biensur Serializable
-> l'appli tourne sur Tomcat mais ici il ne s'agit ici que d'un accès à un fichier persistant (et non, d'un transfert http vers le client).
-> l'objet en question est sérialisé via writeObject dans une session http.
Lors d'un redémarrage de Tomcat, l'objet devrait être désérialisé (avant même le lancement de la servlet) afin de réaliser toute tâche interrompue lors de l'arrêt du serveur.
Enfin
-> Class cls = Thread.currentThread().getContextClassLoader().loadClass("xxx");
charge bien la classe !
Une idée ?
Merci par avance...
Partager