2010-08-09 3 views
0

Il est une tâche de gérer l'état de session client de bureau:Comment gérer l'état authentifié dans EJB3?

  1. seul client unique Assurez-vous est « connecté ».
  2. Forcer la déconnexion du client - kill session.
  3. Tuer la session client sur le délai d'attente en raison de l'inactivité.

Le côté serveur est JBoss et EJB3. Comment réaliser une telle tâche?

Répondre

0

La méthode annotée avec @Remove permet de supprimer la session EJB3.

Nous pouvons assurer l'unicité de la session en l'ajoutant à un conteneur statique (ou autre) et vérifier son existence avant de le renvoyer au nouveau client. Si la session existante est trouvée, nous lançons une exception pour l'utilisateur. Donc, cela répond à mes questions, je pense.

0

Vous pouvez utiliser Singleton Pattern ici, une fois initialisé, refuser ensuite les demandes suivantes en méthode synchronisée en utilisant un délégué pour accéder aux interfaces (local/distant). Maintenez votre propre horloge inactive & Démarrez-la à l'apparition de l'événement soit souris/clé pour votre fenêtre.

À l'expiration du délai, vous pouvez rediriger les objets initialisés & rediriger vers la connexion.