IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java EE Discussion :

Comptabiliser les sessions


Sujet :

Java EE

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Comptabiliser les sessions
    Bonjour à tous,

    Voilà mon souci, je souhaite comptabiliser le nombre de sessions ouvertes sur une application (Tomcat, struts, hybernate) dont je fais de la TMA.

    J'ai déjà regardé du côté de HttpSessionListener mais je n'ai pas réussi à attraper l'évènement de la création d'une session... Je ne sais pas à quel endroit je dois mettre le listener.

    J'ai pourtant trouvé où se crée une session lors de la connexion :

    HttpSession session = request.getSession(true);

    Quand je lance plusieurs connexions, je n'arrive pas à savoir combien sont créées...

    De plus, l'application ne comporte pas de moyen de déconnexion (si si) mais les sessions sont détruites au bout de 240 minutes...

    Est-ce que quelqu'un aurait des pistes ?

    Je peux bien sûr expliciter le cas, demandez-moi !

    En vous remerciant !

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Effectivement, tu dois passer par une classe qui implémente l'interface HttpSessionListener.
    Tu dois redéfinir les deux méthodes sessionCreated(HttpSessionEvent se) et sessionDestroyed(HttpSessionEvent se).
    Ensuite tu déclares ce listener dans ton web.xml.

    Pour le reste, je n'ai pas tout compris.
    Tu as un session-timeout dans ton web.xml qui définit le temps au bout duquel les sessions inactives sont détruites.
    Tu peux donc modifier ce paramètre ou ajouter un bouton à ton application pour supprimer la session courante, sachant que ton utilisateur pourra toujours le contourner.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Oui, merci.

    Je viens de trouver et d'implémenter le Listener, je ne savais pas qu'il fallait le déclarer dans le web.xml.

    Maintenant ça marche.

    Concernant l'autre partie du message... c'est moins important .
    Je souhaite juste créé un bouton de déconnexion ou détecter la fermeture de la page web pour supprimer la session car dans cette application, une session n'est détruite que par le time-out. J'aime moyen mais je vais voir ça.

    En te remerciant tout de même

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 31
    Points : 63
    Points
    63
    Par défaut
    Fais attention à plusieurs choses en créant ton compteur de sessions :

    D'abord il faut que sa mise à jour soit "thread safe" (plusieurs sessions peuvent s'ouvrir et se fermer en même temps).

    Ensuite si en production ton application est déployée dans un cluster un compteur local ne prendra en compte que les sessions ouvertes sur un noeud.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec les sessions
    Par philippef dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2005, 15h19
  2. [Sessions] Les sessions multi-applications
    Par brazza dans le forum Langage
    Réponses: 4
    Dernier message: 13/10/2005, 17h53
  3. les sessions PHP
    Par smh_master dans le forum Langage
    Réponses: 4
    Dernier message: 31/08/2005, 14h13
  4. Comptabiliser les lignes de code d'un projet
    Par JPigKeud dans le forum Qualimétrie
    Réponses: 5
    Dernier message: 07/01/2005, 14h09
  5. PB Réseau sur les sessions ouvertes ?
    Par nico___23 dans le forum Développement
    Réponses: 1
    Dernier message: 07/01/2005, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo