2009-11-16 4 views
0

Mon système a 3-4 services Web qui communiquent entre eux via UDP, donc au démarrage chaque service Web doit démarrer un thread d'écoute UDP, cela peut-il être fait dans le constructeur du Web Service lui-même? J'ai fait quelques lectures (je ne sais pas si c'est correct) et remarqué que parfois les gens se réfèrent aux Web Services comme "sans état" et mentionnent que chaque fois qu'un client se connecte, il créera un nouveau service web et ainsi exécutera le constructeur - mais je veux exécuter mon constructeur une seule fois (quand le service est déployé) et le faire démarrer mon auditeur UDP une seule fois ... et le garder à l'écoute même quand aucun client n'est connecté ...Comment démarrer un écouteur à partir d'un service Web? [Java Netbeans 6.7.1 et Tomcat 6.0.18]

ne veut rien dire? Comment les gens résolvent-ils habituellement ce type de situation?

Un conseil serait grandement apprécié. Merci,

+0

Vous essayez d'exécuter à l'intérieur d'un serveur d'application? Laquelle? Essayez-vous d'écrire un écouteur de socket UDP? Comment allez-vous lancer votre service? S'il vous plaît fournir plus de détails .. – Zak

+0

Zak - Je suis vraiment nouveau à Web Services alors laissez-moi essayer de répondre ... J'ai créé un WebService (en utilisant NetBeans) qui est un seul fichier .JAVA que je peux déployer/exécuter à partir de l'IDE. Vous ne savez pas ce que vous entendez par "serveur d'application"? Et oui, j'ai un thread qui agit comme un écouteur de socket UDP (fonctionnant déjà - comme une application RMI). Quant à savoir comment je vais le lancer - je ne savais pas que j'avais beaucoup de choix - en ce moment je le déploie (Netbeans IDE) - y at-il un autre moyen? – Shaitan00

Répondre

0

Vous pouvez utiliser l'initialisation statique:


static { 
    Listener.initialize(); 
} 
+0

Dans la classe @WebService elle-même? Mais cela signifie-t-il que chaque fois qu'un client exécute une méthode, le constructeur par défaut est appelé à nouveau? – Shaitan00

+0

Je suppose que cela dépend de l'implémentation - il n'est pas improbable qu'un pool soit utilisé. Mais mieux vaut ne pas utiliser le constructeur par défaut dans l'environnement géré :) – Bozho

Questions connexes