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 :

récupérer les sessions des utilisateurs [EJB Stateful]


Sujet :

Java EE

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 30
    Par défaut récupérer les sessions des utilisateurs
    J'ai plusieurs utilisateurs qui se connectent à un EJB statefull. Je voudrais à interval régulier scruter la liste des utilisateurs connectés.
    Comment récupérer la liste des EJB statefull en cours d'utilisation ?
    J'ai fait une bidouille avec une liste et un singleton, mais cela n'est pas propre vis à vis du JEE et je ne sais pas si cela marchera en cluster.

    Avez-vous des idées, ou des meilleures techniques ?

  2. #2
    Membre chevronné
    Avatar de bmoussaud
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 218
    Par défaut
    J'ai plusieurs utilisateurs qui se connectent à un EJB statefull.
    Sur le même EJB Stateful, c'est plutot interdit de faire ça
    D'ailleurs pour réussir à faire ceci tu as du déja pas mal 'bidouiller'!

    Dans l'esprit J2EE/JEE, l'EJB Session avec état représente la session d'un utilisateur, donc si plusieurs utilisateurs se connecte à cet EJB, ils partagent la meme session ?
    Comment es tu arrivé à cette conception ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 30
    Par défaut
    tu as tout à fait raison, je me suis mal exprimé, ils se connectent chacun à un EJB stateful

  4. #4
    Membre chevronné
    Avatar de bmoussaud
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 218
    Par défaut
    Comment récupérer la liste des EJB statefull en cours d'utilisation ?
    Pistes:
    * utiliser les API de ton serveur d'application qui peut te donner le nombre d'instance active + passivée
    * si tu peux identifier un point d'entrée et un point de sortie de ton EJB Statefull tu peux mettre en place un system de comptage
    - si tu veut etre 'J2EE compliant' utiliser une EJB Entité qui est modifié a chaque entrée/sortie, ensuite tu peux interoger ton EJB entité pour connaitre le nombre de personne qui utilisent ton service.
    - sur un objet statique (ce que je pense que tu as du faire), reste ensuite le mode d'intérogation
    - enfin la solution la plus propre (AHMA) , supportant le clustering et n'ajoutant une dépendance Base de Donnée (EjbEntité), tu expose un MBean JMX. Tu peux voir ce MBean comme un EJBEntité spécifique à une JVM en mémoire...
    J'ai implémenté cette derniere solution pour un besoin similaire et ceci fonctionne tres bien: créer une application Web qui se charge d'intéroger l'ensemble des MBean du cluster et affiche des resultats consolidés.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 30
    Par défaut
    Bravo, tu as bien deviné, j'ai utilisé la solution d'un singleton (objet statique), qui me permet de connaître les instances d'EJB statefull utilisées ... d'où le terme "bidouille".
    J'avais pensé à une entité, mais il aurait fallu pouvoir le persister dans une base mémoire ou autre (donc c'est un peu compliqué pour cette utilisation).
    Je vais donc essayer avec un MBean JMX. Je ne connais pas beaucoup cette technologie mais ce sera l'occasion d'apprendre.
    Merci beaucoup en tout cas.

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

Discussions similaires

  1. fermer les sessions des utilisateurs
    Par kawther dans le forum Langage
    Réponses: 11
    Dernier message: 15/05/2007, 13h34
  2. Réponses: 27
    Dernier message: 07/10/2005, 10h19
  3. Gérer les droits des utilisateurs
    Par rsc dans le forum Langage
    Réponses: 6
    Dernier message: 22/08/2005, 20h57
  4. Réponses: 4
    Dernier message: 16/05/2005, 14h16
  5. Réponses: 2
    Dernier message: 03/02/2005, 13h21

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