Что надлежащий путь состоит в том, чтобы перезагрузить Ваше приложение в Tomcat от Муравья, не встречаясь с Исключениями Permgen?

Так же более ранние ответы указали, что это оценивает все операторы, но использует последний как значение выражения. Лично я только нашел его полезным в выражениях цикла:

for (tmp=0, i = MAX; i > 0; i--)
6
задан Tim Visher 29 July 2009 в 13:32
поделиться

3 ответа

Используйте Задачи 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
4
ответ дан 17 December 2019 в 04:50
поделиться

Для выполнения этих задач существуют задачи Tomcat Ant:

http://raibledesigns.com/wiki/Wiki.

1
ответ дан 17 December 2019 в 04:50
поделиться

Я бы предложил запустить 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-сервер.

0
ответ дан 17 December 2019 в 04:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: