Pregunta

Tengo esta función Java simple que está escuchando una IP, usando 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());
}

(...)

Y funciona bien, pero el problema es que tengo que instalarlo en 7.0, y ejecutar la función principal una vez, para iniciar el proceso.

¿Cómo puedo hacer eso en 7.0?

Saludos,
Pedo

¿Fue útil?

Solución

Según las recomendaciones de Java EE, debe evitar abrir enchufes en un contenedor. Si lo desea de todos modos, necesita una forma de comenzar esto, tiene varias opciones.

Cree un bean de sesión EJB con un método que pueda invocar de forma remota (RMI ...) y coloque las cosas en este método.

Si desea comenzar automáticamente con el WAS, puede usar el temporizador EJB para programar la ejecución de la tarea.

También puede crear un servlet que al invocador haga estas cosas.

Debe considerar comenzar un hilo para administrar el enchufe, pero el hilo debe ser capaz de detenerse por sí mismo, cuando una condición llega como la while (userInput == 1).

Esto suena extraño en un servidor de aplicaciones como WAS, pero puede hacerlo.

Hacemos algunas tareas similares en SAP XI creando un EJB de sesión que inicia varios hilos para administrar los sockets del cliente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top