Je voudrais entendre quelques commentaires sur la façon de gérer des connexions XMPP de longue durée sur un conteneur de servlet, c'est-à-dire sur Tomcat.Gestion des connexions à un serveur XMPP via des servlets
Fondamentalement, nous avons un client qui soumet des identifiants de connexion à une servlet et nous créons une connexion XMPPConnection pour chaque session et la stockons dans HttpSession. Pour simplifier, le client peut effectuer 4 opérations: connexion, envoi/réception de messages, déconnexion. (1) Comme vous pouvez le voir, la durée de vie de XMPPConnection doit être gérée (contrôlée) par le client . Dans notre cas, le HttpSession a un délai d'attente associé. Pensez-vous que le recours à HttpSession est une erreur?
(2) Du point de vue de la récupération de place, est-ce un problème si la session HttpSession est et que nous n'appelons pas spécifiquement XMPPConnection.disconnect()? La façon dont je le comprends, une fois le délai d'expiration atteint, tous les objets dans la portée de la session sont GC'ed. Est-ce que la machine virtuelle aurait rechigné et ignorer la connexion XMPPC s'il était encore connecté?
(3) Quelle est la différence entre un timeout HttpSession et une invalidation? Ma compréhension est que le délai d'attente fait référence à un objet particulier alors que l'invalidation supprime tout.
Merci. Bon à savoir que cela a fonctionné pour vous (re: XMPPConnection dans HttpSession). Je vais utiliser un SessionAttributeListener à la place. Il devrait atteindre le même objectif. –