C'esty juste un probleme de Class loader, en gros c'est normal que cela
puisse arriv� dans un servlet container.
Il y a un a bon article sur javaworld qui parle de ce probleme, c'est sur
les enumeration forte typ� et leurs problemes dans des web container.
Dominique
|---------+---------------------------------->
| | HOMMET F ext OCISI |
| | <[EMAIL PROTECTED]|
| | elecom.com> |
| | |
| | 04/06/2003 15:46 |
| | Please respond to java |
| | |
|---------+---------------------------------->
>-------------------------------------------------------------------------------------------------------------------------------|
|
|
| To: <[EMAIL PROTECTED]>
|
| cc: (bcc: Dominique Gallot/BRU/MASTERCARD)
|
| Subject: RE: RE : Pbm acces attribut static d'une servlet
|
>-------------------------------------------------------------------------------------------------------------------------------|
Je pense que c'est la solution qui �tait propos�e et qui a �t� utilis�e :
-).
Par contre, il reste � comprendre si c'est bien le comportement normal que
deux sous-classes d'une m�me classe ne partagent pas la r�f�rence d'une
variabgle static d�finie au niveau de la super-classe.
Je ne connais pas assez bien les spec Java pour confirmer que c'est le
comportement normal, mais �a ne me choque pas outre mesure.
-----Message d'origine-----
De : Jean-Baptiste BRIAUD [mailto:[EMAIL PROTECTED]
Envoy� : mercredi 4 juin 2003 15:22
� : [EMAIL PROTECTED]
Objet : RE : Pbm acces attribut static d'une servlet
Une possibilit� : au lieu de vouloir � rendre singleton � les 2 servlet,
� rendre singleton � une classe de gestion du nombre de connexion.
Les servlets, quelque soit le nombre d'instance, acc�de � une unique
instance de l'objet de gestion des connection.
Naturellement, les methodes plusUn() et moinsUn() seront synchronized.
-----Message d'origine-----
De : Laurent For�t [mailto:[EMAIL PROTECTED]
Envoy� : mercredi 4 juin 2003 15:14
� : [EMAIL PROTECTED]
Objet : Re: Pbm acces attribut static d'une servlet
Oui mais l�, une incr�mentation/d�cr�mentation d'un int est une op�ration
que je consid�re atomique (je ne sais pas si elle l'est r�ellement) que
l'on peut ne pas synchroniser.
le probl�me qu'il y ait deux r�f�rences d'un membre static de la classe
m�re, c'est un probl�me que je ne saurai pas expliquer.
Laurent.
----- Original Message -----
From: Jean-Baptiste BRIAUD
To: [EMAIL PROTECTED]
Sent: Wednesday, June 04, 2003 2:59 PM
Subject: RE : Pbm acces attribut static d'une servlet
Bonjour,
Je ne sais pas si c'est la source de vos probl�mes, mais attention
aux threads !
Les servlets sont en acc�s concurrents et sont � parcourues � par
des threads.
Donc dans la situation d'attributs a incr�menter (plus g�n�ralement
� modifier) il faut jouer avec synchronized.
-----Message d'origine-----
De : Samuel BONNANFANT [mailto:[EMAIL PROTECTED]
Envoy� : mercredi 4 juin 2003 14:40
� : [EMAIL PROTECTED]
Objet : Re: Pbm acces attribut static d'une servlet
Merci,
J'ai effectivement utilis� une classe Singleton qui a r�solu le
probl�me.
Par contre, je ne saisi pas pourquoi ma variable static �tait
charg�e deux fois...
Les servlets peuvent �tre charg�es dans des espaces m�moire
diff�rents ?
----- Original Message -----
From: Laurent For�t
To: [EMAIL PROTECTED]
Sent: Wednesday, June 04, 2003 2:13 PM
Subject: Re: Pbm acces attribut static d'une servlet
Une solution : le pattern singleton.
Laurent.
----- Original Message -----
From: Samuel BONNANFANT
To: Liste Java
Sent: Tuesday, June 03, 2003 10:36 AM
Subject: Pbm acces attribut static d'une servlet
Bonjour,
J'ai 2 servlets (une de connexion, l'autre de
deconnexion) qui heritent d'une servlet abstraite
d�finissant un attribut static "s_nb_sessions" : nb de
sessions ouvertes.
La servlet de connexion incremente ce nombre, celle de
deconnexion le decremente.
Mon pbm : les 2 servlets semblent pointer sur 2
r�f�rences distinctes !
Environnement : jdk 1.1.8, Weblogic 5.1
Merci !
--
sAm
**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.
This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.
www.mimesweeper.com
**********************************************************************