2010-02-19 14 views
10

Sto sviluppando due programmi Java che vengono eseguiti in VM separate che hanno una tipica relazione server/client. Usando le attività parallele/sequenziali di ant, sono stato in grado di ottenere form per eseguire il server e poi il client. Ora mi piacerebbe che quando il processo client si fosse fermato, il formico uccidesse il server. Ho visto questo fatto con attività formiche personalizzate per applicazioni server specifiche (come TomCat), esiste un metodo per farlo con i processi Java generici?Arresto di un'attività java parallela con formica

risposta

8

Poiché si sta sviluppando l'applicazione server, è possibile fare in modo che ascolti il ​​comando "shutdown". Poi si può avere invio formica che il comando shutdown quando le uscite del cliente, qualcosa di simile:

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

Un'altra opzione che può funzionare per voi è quello di avviare il server all'interno di un elemento daemons.

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

Ciò renderà il server eseguito in un thread daemon, che non impedirà il completamento della formica. Quando ant si arresta, tutti i thread daemon, incluso il server, verranno terminati.

+0

Perfetto, questo è esattamente. – Sandro

Problemi correlati