J'ai une application J2EE sur laquelle la déconnexion n'est pas implémentée correctement, mon intention est de fermer toutes les ressources DB une fois que l'utilisateur se déconnecte. Vous ne savez pas si session.invalidate(); va vraiment aider, je vais essayer aujourd'hui. Veuillez indiquer les meilleurs moyens d'implémenter la déconnexion afin que toutes les ressources utiles soient libérées une fois que l'utilisateur se déconnecte.Comment implémenter la déconnexion dans l'application Struts
Répondre
mon intention est de fermer toutes les ressources DB une fois que l'utilisateur se déconnecte
déjà un signe d'une mauvaise pratique. Les ressources DB doivent être acquises et fermées dans la portée la plus courte possible, c'est-à-dire dans le même bloc de méthode. Vous ne pouvez jamais obtenir une ressource DB (Connection
, Statement
et/ou ResultSet
) en tant que variable statique ou instance. C'est la réception des fuites de ressources et des problèmes plus graves. Si l'intention initiale était d'améliorer les performances de connexion, vous devez introduire un pool de connexions. Gardez à l'esprit que ce n'est pas une excuse pour garder les connexions ouvertes vous-même. Il suffit de les acquérir et de les fermer dès que possible de la même manière, l'implémentation du pool de connexion elle-même s'inquiète de la fermeture de la connexion ou de la relâcher dans le pool. Tout est entièrement transparent. Les serveurs d'applications décents sont livrés avec des fonctionnalités de pool de connexions dans les sources de données JNDI. Fais-en usage. Une fois cela fait, vous n'avez pas besoin de vous soucier des ressources DB ouvertes ni des performances du tout.
S'il vous plaît faire comme
- Utilisez votre connexion et d'autres classes de base de données pour supprimer les ressources DB.
- Effacez votre session à l'aide de l'objet de session.
- Vérifiez le cookie que vous avez créé dans l'application et supprimez-en un ou tous.
Je ferme les ressources DB individuellement dans tous les EJB et DAO. Je souhaite savoir s'il existe un mécanisme permettant de fermer toutes les ressources DB ouvertes à un endroit pour une session utilisateur particulière. –
Ensuite, vous devez étudier le pool de connexions DB en Java. Je ne suis pas au courant de EJB. –
- 1. comment implémenter la fonctionnalité de déconnexion dans asp.net C#
- 2. Comment implémenter Déconnexion fonction à l'aide Spring Web Mvc
- 3. Vérifier l'utilisateur lorsqu'il revient après la déconnexion
- 4. Ruby on Rails: comment utiliser les sessions pour implémenter la déconnexion à distance?
- 5. Comment réaliser la déconnexion automatique en PHP?
- 6. Comment gérer la déconnexion client avec PollingDuplexHttpBinding
- 7. Déconnexion automatique dans asp.net
- 8. Détection de la déconnexion jsch
- 9. Comment détecter la déconnexion du client TCP dans Ruby
- 10. Forcer la déconnexion actuellement connecté utilisateur dans wss 3.0 - comment?
- 11. Comment implémenter la pagination?
- 12. Authentification par formulaires ASP.NET - Déconnexion
- 13. Comment implémenter la recherche?
- 14. Comment gérer une déconnexion inattendue
- 15. HttpRequestValidationException lors de la déconnexion
- 16. Comment connecter une fonction de déconnexion côté serveur à la déconnexion du service d'authentification ASP.Net
- 17. Comment tester la déconnexion/déconnexion (action de destruction de UserSessionsController) lors de l'utilisation d'Authlogic?
- 18. Comment implémenter la passerelle dans Java
- 19. Comment implémenter la localisation dans web.sitemap
- 20. Comment implémenter la fonctionnalité Zip dans VBA?
- 21. Comment implémenter la mémoire partagée dans .NET?
- 22. Comment implémenter la compression GZip dans ASP.NET?
- 23. Comment implémenter Paypal dans la redirection Chronoform
- 24. comment implémenter la recherche dans iphone sdk
- 25. Comment implémenter la méthode Array.ConvertAll dans C#
- 26. Problème de déconnexion ou de déconnexion dans asp.net C# utilisant la page maître et l'authentification Windows
- 27. Comment définir la portée d'action struts 2
- 28. FormsAuthantication déconnexion
- 29. fonctionnalité de déconnexion dans django
- 30. Comment désactiver Struts jsessionid dans l'URL
Je ferme les ressources DB dans le même bloc que celui où j'ouvre et j'utilise la mise en commun des connexions Weblogic. Mon vrai problème est que certaines requêtes prennent beaucoup de temps à s'exécuter et une fois que l'utilisateur se déconnecte, il est possible que ces requêtes soient toujours en cours d'exécution et consomment des ressources système. Je cherche un moyen de mettre fin à ces connexions après que l'utilisateur se déconnecte. –
Stockez un handle dans la portée de session et utilisez 'HttpSessionListener # sessionDestroyed()' pour les récupérer et les arrêter tous. – BalusC