Остановка параллельной задачи Java с помощью ant - PullRequest
10 голосов
/ 19 февраля 2010

Я занимаюсь разработкой двух java-программ, которые работают на отдельных виртуальных машинах, которые имеют типичные отношения сервер / клиент. Используя ant параллельные / последовательные задачи, я смог заставить ant запустить сервер, а затем клиента. Теперь мне бы хотелось, чтобы, когда клиентский процесс остановился, ant убил сервер. Я видел, как это делается с помощью пользовательских задач муравья для конкретных серверных приложений (таких как TomCat). Существует ли какой-либо метод для этого с общими процессами Java?

1 Ответ

9 голосов
/ 21 февраля 2010

Поскольку вы разрабатываете серверное приложение, оно может прослушивать команду «завершение работы».Затем вы можете сделать так, чтобы ant отправлял команду shutdown при выходе из клиента, например:

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

Еще один вариант, который может вам помочь, - запустить сервер внутри элемента daemons.

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

Это заставит сервер работать в потоке демона, что не помешает завершению ant.Когда ant останавливается, все потоки демона, включая ваш сервер, будут прерваны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...