2010-02-19 151 views
10

我正在开发两个运行在具有典型服务器/客户端关系的单独虚拟机中的java程序。使用ant的并行/顺序任务,我已经能够获得ant来运行服务器,然后运行客户端。我现在喜欢它,以便当客户端进程停止时,ant杀死服务器。我已经看到为特定的服务器应用程序(如TomCat)使用自定义的ant任务完成了这个任务,是否存在使用泛型java进程执行此操作的任何方法?用蚂蚁停止并行java任务

回答

8

由于您正在开发服务器应用程序,因此您可以让它侦听“关机”命令。然后你就可以有蚂蚁向它发送关机命令时,客户端退出,是这样的:

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

它可以为你工作是启动daemons元素中的服务器的另一个选择。

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

这将使服务器运行在守护线程中,这不会阻止蚂蚁完成。当ant停止时,所有守护进程线程(包括您的服务器)将终止。

+0

完美的,就是这样。 – Sandro 2010-02-27 18:18:16