Question

Je lis dans un poste au forum Smack récemment que

  

A partir des fils de démon dans un serveur Java EE est un grand pas de no

En gros XMPPConnection Smack démarre un thread démon pour surveiller les données entrantes Et une autre pour envoyer des données sortantes de / vers le serveur jabber respectivement. Est-il raisonnable d'utiliser des fils de démon pour écouter écriture / lit dans ce scénario?

Était-ce utile?

La solution

Oui, XMPPConnection crée deux fils - l'un pour l'écoute / lecture et un pour l'écriture. Mais ceux-ci ne vivent pas aussi longtemps que l'instance XMPPConnection, que je suppose est pas pour toujours.

  

"A partir des fils de démon dans un serveur Java EE est un grand non non"

Êtes-vous écrit EJB compatible spécifications? Si oui, alors cela vaut. La spécification dit ne pas le faire. spécification EJB 2.1:

  

"Le grain de l'entreprise ne doit pas tenter   pour gérer les threads. Le haricot d'entreprise   ne doit pas tenter de démarrer, arrêter,   suspendre ou reprendre un fil, ou   modifier la priorité d'un fil ou un nom.   Le grain de l'entreprise ne doit pas tenter   pour gérer des groupes de discussion. "

Ou est-ce juste une webapp qui se trouve être en cours d'exécution dans Tomcat? Si tel est le cas, alors je ne vois pas de problème fondamental. Sans les fils, votre client Smack serait incapable de communiquer avec le serveur.

Autres conseils

Je l'ai utilisé API Smack pour les connexions client seulement qui sont des programmes autonomes. D'abord, vous devriez revoir le choix (ou le but) de l'API Smack dans un conteneur J2EE.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top