Domanda

Ho questa semplice funzione java che sta ascoltando un IP, utilizzando i socket:

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());
}

(...)

E funziona bene, ma il problema è che devo installarlo in è stata del 7,0, ed eseguire il tempo di funzione di quello principale, per avviare il processo.

Come posso fare che in WAS 7.0 ??

Saluti,
Pedro

È stato utile?

Soluzione

Come per raccomandare Java EE, si dovrebbe evitare prese di apertura in un contenitore. Se si desidera in ogni caso, è necessario un modo per iniziare questo, sono disponibili diverse opzioni.

Crea un EJB Session Bean con un metodo che è possibile richiamare in remoto (RMI ...) e mettere la roba in questo metodo.

Se si desidera avviare automaticamente con l'ERA, è possibile utilizzare il timer EJB di pianificare l'esecuzione del task.

Si può anche creare un servlet che in base alla chiamata fare questa roba.

Si dovrebbe considerare iniziare un thread per gestire la presa, ma il filo deve essere capace di arrestare da solo, quando raggiunge una condizione come la while (userInput == 1).

Questo suono strano per fare un server di applicazioni, come è stato, ma è possibile farlo.

Facciamo alcuni compiti analoghi in SAP XI con la creazione di un bean di sessione che inizia diversi thread per gestire i socket client.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top