2010-02-19 18 views
10

Estoy desarrollando dos programas java que se ejecutan en máquinas virtuales separadas que tienen una relación típica servidor/cliente. Usando las tareas paralelas/secuenciales de la hormiga, he podido obtener una hormiga para ejecutar el servidor y luego el cliente. Ahora me gustaría que cuando el proceso del cliente se haya detenido, hormiga mate el servidor. He visto esto hecho con tareas personalizadas para aplicaciones de servidor específicas (como TomCat), ¿existe algún método para hacer esto con procesos genéricos de Java?Deteniendo una tarea java paralela con ant

Respuesta

8

Como está desarrollando la aplicación de servidor, puede hacer que escuche el comando "apagar". A continuación, puede tener hormiga envíe el comando de apagado cuando el cliente existe, algo así como:

<parallel> 
    <server .../> 
    <sequential> 
     <client ... /> 
     <!-- client has finished, send stop command to server --> 
    </sequential> 
</parallel> 

Otra opción que puede trabajar para usted es para iniciar el servidor dentro de un elemento daemons.

<parallel> 
    <daemons> 
     <server .../> 
    </daemons> 
    <sequential> 
     <client ... /> 
    </sequential> 
</parallel> 

Esto hará que el servidor se ejecute en un hilo de daemon, lo que no evitará que la hormiga se complete. Cuando ant se detenga, todos los subprocesos de daemon, incluido el servidor, finalizarán.

+0

Perfecto, eso es exactamente eso. – Sandro

Cuestiones relacionadas