Так же более ранние ответы указали, что это оценивает все операторы, но использует последний как значение выражения. Лично я только нашел его полезным в выражениях цикла:
for (tmp=0, i = MAX; i > 0; i--)
Используйте Задачи Tomcat Ant . Catalina-ant.jar включен в большинство дистрибутивов Tomcat. Как правило, хорошо сочетать это с задачами try-catch Ant .
<taskdef name="start" classname="org.apache.catalina.ant.StartTask" />
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask" />
<taskdef name="try" classname="ise.antelope.tasks.TryTask"/>
<try>
<stop url="${url}"
username="${username}"
password="${password}"
path="${path}"/>
<catch>
<echo>${path} stop failed.</echo>
</catch>
</try>
<try>
<start url="${url}"
username="${username}"
password="${password}"
path="${path}"/>
<catch>
<echo>${path} start failed.</echo>
</catch>
</try>
Если это чисто проблема с памятью, вы можете настроить некоторые записи в памяти при запуске JVM (я сделал это часто, но никогда не писал об этом так ясно, как this или this ):
-XX:+UseConcMarkSweepGC
-XX:+CMSPermGenSweepingEnabled
-XX:+CMSClassUnloadingEnabled
-XX:MaxPermSize=256m
Для выполнения этих задач существуют задачи Tomcat Ant:
Я бы предложил запустить Tomcat как службу. Затем вы можете использовать задачу SSHEXEC.
Едва редактировалось из нашего build.xml:
<target name="_restartService">
<sshexec
host="${deploy.server.host}"
username="${deploy.username}"
password="${deploy.password}"
timeout="120000"
command="restartContainer.bat ${deploy.client}"
trust="true" />
</target>
Файл restartContainer.bat вызывает NET STOP% serviceName%, очищает журналы, временные файлы и т. Д., А затем вызывает NET START% serviceName%.
Он отлично работает для нас в области разработки, подготовки и производства. Вам просто нужен установленный SSH-сервер.