Почему мой сервер Tomcat перезагружается и что такое org.apache.catalina.core.AprLifecycleListener? - PullRequest
3 голосов
/ 24 июля 2009

Я пытаюсь выяснить, почему мое веб-приложение (я его не писал, но должен отлаживать) постоянно вызывает перезапуск веб-сервера Tomcat. Все, что я вижу в журналах до перезапуска сервера:

Jul 24, 2009 7:52:15 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Portable Runtime which allows optimal performance in production environments was not found on the java.library.path: /usr/local/jdk1.5.0_09/jre/lib/i386/server:/usr/local/jdk1.5.0_09/jre/lib/i386:/usr/local/jdk1.5.0_09/jre/../lib/i386
Jul 24, 2009 7:52:15 AM org.apache.coyote.http11.Http11BaseProtocol init

Я могу фактически выполнить эту же обработку для других групп файлов, и она работает нормально, но выполнение этой отдельной группы приводит к перезагрузке сервера. В основном я надеюсь, что кто-то может сказать мне, если это просто тайм-аут или должен быть какой-то другой файл журнала, сообщающий мне, почему он умирает. И если это тайм-аут, если есть способ увеличить его.

Обновление : я попытался запустить сервер с bin/catalina.sh run, который выводит вывод в stanadard вместо catalina.out,и все, что я получаю вместо вышеперечисленного, - это прогресс моего приложения, а затем «Уничтожено».

В стороне, я не знаю, что его перезапускает, но когда я пытаюсь перезапустить сервер с bin/catalina.sh run, Я получил BindException, поэтому что-то перезапустил его.

Обновление 2 : он использовал Tomcat 5.5 и Java 5. Я установил Tomcat 6 и настроил егоиспользовать Java 6, и происходит то же самое. Кроме того, если я сделаю "echo $?"после «Killed» он дает мне «137», что, вероятно, указывает на то, что хостинговая компания по какой-то причине его убивает.

Ответы [ 5 ]

4 голосов
/ 24 июля 2009

AprLifecycleListener отвечает за инициализацию Apache Portable Runtime, см. http://tomcat.apache.org/tomcat-6.0-doc/apr.html

Не могли бы вы опубликовать записи журнала завершения работы (у вас есть или есть все, что вы видите?)?

Кстати, вы говорите, что tomcat перезапускается, стандартные сценарии оболочки запускают tomcat только один раз, они просто завершаются при выходе из tomcat. Есть ли у вас какое-либо программное обеспечение-обертка (например, http://wrapper.tanukisoftware.org/), которое может перезапускать ваш сервер?

3 голосов
/ 26 июля 2009

Не берите в голову - оказывается, хостинговая компания убивала мой процесс (с помощью kill -9 не меньше), потому что он занимал слишком много процессорного времени. Теперь я должен выяснить, как выполнить эту невероятно трудоемкую задачу, не используя 90% своего процессора в течение более 10 минут - я попытался «заманить» Tomcat, но это не помогло, поэтому мне, возможно, придется добавить «сон» (1000) "в цикле обработки или что-то.

3 голосов
/ 24 июля 2009

Я знаю, что это плохо, но возможно, что ваше приложение каким-то образом вызывает System.exit () для вызова?

1 голос
/ 24 июля 2009

Я полагаю, что вы видите это сообщение APR только при первом запуске сервера.

Приложение, развернутое в Tomcat, не должно иметь возможность останавливать и запускать весь сервер - это немного смысла. Некоторые вещи могут быть сделаны для перезагрузки самого веб-приложения (например, изменение web.xml или выполнение перезагрузки из диспетчера Tomcat), но ничто из развернутого приложения не должно быть в состоянии остановить / запустить весь сервер.

Вы уверены, что не происходит каких-либо внешних остановок и запуска сервера? Сценарий оболочки или работа cron где-нибудь?

0 голосов
/ 24 июля 2009

Разверните веб-приложение и посмотрите, появится ли Tomcat без него. Я подозреваю, что установка Tomcat неверна.

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