Bonjour,
J'utilise HttpSession et je veux connaitre la taille d'une session. comment faire ? C'est possible de voir l'info comment ?
Bonjour,
J'utilise HttpSession et je veux connaitre la taille d'une session. comment faire ? C'est possible de voir l'info comment ?
Hello !
Qu'est-ce que tu entends par "la taille d'une session" ?
Le nombre d'objets qui ont été mappés sur la session ?
la taille des attributs de l'objet HttpSession
Je viens de faire ceci mais je ne sais pas si ça va me donner exactement la taille de ma session
Pensez vous que c'est bon ????????????????,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public int getSessionSize(HttpServletRequest request) throws IOException { Vector sessObjects = new Vector(); HttpSession sess = request.getSession(true); Enumeration eSess = sess.getAttributeNames(); while (eSess.hasMoreElements()) { sessObjects.addElement((Object)eSess.nextElement()); } sessObjects.trimToSize(); try { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); Enumeration eSessObjects = sessObjects.elements(); while (eSessObjects.hasMoreElements()) { objectOutputStream.writeObject((Object)eSessObjects.nextElement()); } return byteArrayOutputStream.toByteArray().length; } catch (IOException ioe) { return -1; } }
Si tous tes objets sont serializable ça peut le faire.
Maintenant tu peux très bien avoir certains de tes objets en session qui pointent sur d'autres objets qui eux sont communs à l'ensemble des sessions, ... la somme de tes tailles en session sera donc supérieure à la taille réelle utilisée...
Après ça va dépasser mes capacités.
Sinon j'ai trouvé ça sur le net :
http://www.servletsuite.com/servlets/ssizetag.htm
Avec un petit décompilateur tu pourras certainement retrouver ce qui a été réalisé.
Bon courage !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager