ClassLoaders et ClassCastException

ClassLoaders et ClassCastException - Java - Programmation

Marsh Posté le 06-05-2005 à 14:47:36    

Bonjour, si quelqu'un avait une idée ce serait super parce que je suis arrivé à mes limites :pt1cable:  
 
J'ai fait une application dédiée à la connexion d'utilisateurs, elle stocke des utilisateurs dans son contexte et n'importe quelle appli du serveur peut y récupérer un utilisateur.
 
Le problème : à la récupération de l'utilisateur j'ai un ClassCastException car les classes "Utilisateur" des 2 applis ont beau avoir le même nom, elles sont différentes (car chacune est chargée par le ClassLoader de son appli).
 
Jusqu'à maintenant je contournais le problème en utilisant un type connu (HashMap) mais là j'aurais besoin d'utiliser ma propre classe Utilisateur partout.
 
Merci d'avance :jap:  

Reply

Marsh Posté le 06-05-2005 à 14:47:36   

Reply

Marsh Posté le 06-05-2005 à 15:19:07    

ça m'a l'air foireux ton truc. Si les classes ont le même nom et que pour HashMap ça passe, c'est pas logique. D'où ma question : les 2 classes Utilisateur sont-elles dans le même package ?


---------------
Le site de ma maman
Reply

Marsh Posté le 06-05-2005 à 15:53:22    

Cherrytree a écrit :

ça m'a l'air foireux ton truc. Si les classes ont le même nom et que pour HashMap ça passe, c'est pas logique. D'où ma question : les 2 classes Utilisateur sont-elles dans le même package ?


 
Les classes Utilisateur sont dans 2 jars, le même jar en fait que j'ai collé dans appli1/WEB-INF/lib et appli2/WEB-INF/lib.
 
J'ai bien tenté de les charger depuis le même jar (avec un URLClassLoader) mais ça n'a pas résolu le problème de cast.
 
En fait HashMap passe parce que c'est un type "standard" ; elle est chargée par le SystemClassLoader (parent) donc visible partout sous la même référence.
Mes classes Utilisateur sont chargées par les ClassLoaders de leurs applications respectives, donc considérées comme différentes par la JVM! :sweat:  
 
 

Reply

Marsh Posté le 06-05-2005 à 15:55:53    

Là je m'y connais pas assez. Je vais céder la place aux grands.


---------------
Le site de ma maman
Reply

Marsh Posté le 06-05-2005 à 16:04:26    

Cherrytree a écrit :

Là je m'y connais pas assez. Je vais céder la place aux grands.


 
Merci quand même pour ta réponse :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed