Attacher un Vector à une session, ça pose un pb ?

Attacher un Vector à une session, ça pose un pb ? - Java - Programmation

Marsh Posté le 07-10-2002 à 17:49:55    

c'est pas une erreur bloquante apparement, mais dans les logs de Tomcat, ma servlet engendre plein d'exceptions comme celle-ci :

2002-10-07 17:46:23 StandardManager[/ldsweb] Cannot serialize session attribute visitor for session DD953E48BABC359BED78B4DF980454B1
java.io.NotSerializableException: java.util.Vector$1


En effet, j'attache un objet ("visitor" ) à la session, qui contient un Vector. C pas bon ? g pas l'droit de faire ça ?

Reply

Marsh Posté le 07-10-2002 à 17:49:55   

Reply

Marsh Posté le 07-10-2002 à 17:57:20    

ben Vector n'est pas serializable, et je présume que ce log vient d'un truc qui essaie pê de stocker les sessions sur disque...


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 07-10-2002 à 18:03:10    

--greg-- a écrit a écrit :

ben Vector n'est pas serializable




 
 :heink:  
 
Je vote plutot pour un élément mis dans le vecteur qui n'est pas serializable.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 07-10-2002 à 18:15:23    

euh ouais possible  :ange:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 07-10-2002 à 18:29:53    

--greg-- a écrit a écrit :

je présume que ce log vient d'un truc qui essaie pê de stocker les sessions sur disque...




exacte : tomcat est session-reboot-safe ! ;)

Reply

Marsh Posté le 07-10-2002 à 18:49:47    

--greg-- a écrit a écrit :

ben Vector n'est pas serializable, et je présume que ce log vient d'un truc qui essaie pê de stocker les sessions sur disque...




 
 :lol:  :lol:  :lol:  :lol:  :lol:


Message édité par HappyHarry le 07-10-2002 à 18:50:07
Reply

Marsh Posté le 07-10-2002 à 19:28:01    

HappyHarry a écrit a écrit :

 
 
 :lol:  :lol:  :lol:  :lol:  :lol:  



:fuck:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 08-10-2002 à 08:45:05    

et... c'est grave docteur ?

Reply

Marsh Posté le 08-10-2002 à 08:49:24    

--greg-- a écrit a écrit :

ben Vector n'est pas serializable, et je présume que ce log vient d'un truc qui essaie pê de stocker les sessions sur disque...




 
quoted  :fuck:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-10-2002 à 08:50:46    

El_Gringo a écrit a écrit :

et... c'est grave docteur ?




 
bin déjà y a quoi dans ton vecteur?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-10-2002 à 08:50:46   

Reply

Marsh Posté le 08-10-2002 à 09:15:04    

DarkLord a écrit a écrit :

 
 
bin déjà y a quoi dans ton vecteur?




 
...des instances d'une classe de ma création, qui implémente java.io.Serializable !

Reply

Marsh Posté le 08-10-2002 à 09:16:44    

El_Gringo a écrit a écrit :

 
 
...des instances d'une classe de ma création, qui implémente java.io.Serializable !




 
et par hasard, ta classe n'a pas des membres non sérializable  :sarcastic:  
 
Ceci dit qu'est ce qui justifie que tu places ces objets dans un Vecteur. Pq pas une ArrayList si le type est le même?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-10-2002 à 09:33:16    

DarkLord a écrit a écrit :

 
 
et par hasard, ta classe n'a pas des membres non sérializable  :sarcastic:  
 
Ceci dit qu'est ce qui justifie que tu places ces objets dans un Vecteur. Pq pas une ArrayList si le type est le même?




 
Je sais jammais vraiment quelle collection choisir selon les cas.
Généralement, j'opte pour une Hashtable si je veux un accès par une clée, et pour un Vector qd je veux un accès par index.
Pourquoi plus une ArrayList qu'un Vector ?

Reply

Marsh Posté le 08-10-2002 à 09:34:22    

El_Gringo a écrit a écrit :

 
 
Je sais jammais vraiment quelle collection choisir selon les cas.
Généralement, j'opte pour une Hashtable si je veux un accès par une clée, et pour un Vector qd je veux un accès par index.
Pourquoi plus une ArrayList qu'un Vector ?




 
et par hasard, ta classe n'a pas des membres non sérializable  :sarcastic:  


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-10-2002 à 09:44:30    

DarkLord a écrit a écrit :

 
 
et par hasard, ta classe n'a pas des membres non sérializable  :sarcastic:  
 




 
Y a surement une histoire comme ça, j'vais revérifier ça !
Pourquoi j'prendrais plus une ArrayList qu'un Vector alors !?

Reply

Marsh Posté le 08-10-2002 à 09:49:23    

Les méthodes d'ArrayList ne sont pas synchronisées, alors que celles de Vector le sont. L'utilisation d'ArrayList est donc un peu plus efficace, et vivement recommandée, lorsqu'on n'a pas de problème de concurrence d'accès sur la liste.
 
La même remarque s'applique à HashMap (non synchronisée) et Hashtable (synchronisée).
 
Par contre, il n'y a pas d'équivalent non synchronisé à la classe Stack. Il est donc recommandé de toujours créer sa propre classe "ArrayStack" qui est un clone de Stack, sauf qu'elle hérite d'ArrayList au lieu de Vector, et qu'aucune de ses nouvelles méthodes n'est synchronisée (facile puisqu'on dispose des sources du J2SDK).


Message édité par BifaceMcLeOD le 08-10-2002 à 09:49:51
Reply

Sujets relatifs:

Leave a Replay

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