Question

J'ai cette simple fonction java qui écoute un IP, en utilisant les sockets:

void main()

(...)


Socket client = new Socket("192.168.9.2",63333);

DataOutputStream out=new DataOutputStream(client.getOutputStream());
DataInputStream in=new DataInputStream(client.getInputStream()); 

while (userInput == 1) {
      System.out.println(in.readLine());
}

(...)

Et cela fonctionne très bien, mais le problème est que je dois l'installer dans WAS 7.0, et exécuter la fonction principale une fois, pour démarrer le processus.

Comment puis-je faire dans WAS 7.0 ??

Cordialement,
Pedro

Était-ce utile?

La solution

Selon Java EE recomendations, vous devez éviter les prises d'ouverture dans un récipient. Si vous voulez de toute façon, vous avez besoin d'une façon de commencer, vous avez plusieurs options.

Création d'une session EJB Bean avec une méthode que vous pouvez appeler à distance (RMI ...) et de mettre les choses dans cette méthode.

Si vous voulez démarrer automatiquement avec le WAS, vous pouvez utiliser la minuterie EJB pour planifier l'exécution de la tâche.

Vous pouvez également créer une Servlet que, lors de l'invocation faire ce genre de choses.

Vous devriez envisager de commencer un fil pour gérer la prise, mais le fil doit être capable d'arrêter par lui-même, quand un état atteint comme le while (userInput == 1).

Ce son étrange à faire dans un serveur d'applications comme WAS, mais vous pouvez le faire.

Nous certaines tâches similaires dans SAP XI en créant une session EJB qui démarre plusieurs threads pour gérer les sockets client.

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