Действительно ли Tomcat 6 готов к непрерывной интеграции или как получить его работа?

Я ищу подсказку, как сделать кота CI готовый или контейнер сервлета / контейнер приложения, которые стоят, часто повторно развертывается как, они происходят при использовании Гудзона ci.

Я испытал тот Tomcat 6, правильно не не развертывает веб-приложения, оставляя классы в jvm.

Например, я контролировал кота 6 с VisualVM: на запуске 2 000 классов, на развертываются приложения 3000 после того, как повторно развернут 4000 и повторно развернут 5 000 классов и так далее - ведущий к катастрофическим отказам, утечкам памяти...

Хорошо надежда у каждого есть подсказка на коте и непрерывной интеграции или других серверах приложений.

13
задан Robert Munteanu 14 March 2010 в 11:22
поделиться

3 ответа

Обновление : я провел несколько тестов с умеренно сложным веб-приложением, используя Spring, Hibernate, GWT, C3P0 и HsqlDB.

Стандартный Tomcat 6.0.24 работает нормально, если вы используете клиентский компилятор. Он работает на десяти повторных развертываниях, тогда как серверный компилятор выходит из строя на четвертом. Я предлагаю вам попробовать с флагом -client .

Попытка отладить использование серверного компилятора оказалась бесплодной, так как Eclipse MAT не показал корней сборщика мусора для загрузчиков классов, но они были сохранены. Часто упоминаемая ошибка, раздувание PermHeap в и только на серверной виртуальной машине , как сообщается, была исправлена ​​в Java 6 с обновлением 16, но мои тесты терпят неудачу с Java 6 с обновлением 16.


Tomcat был проверен и дважды проверен. в таких проблемах с памятью, и довольно часто виноваты приложения. Нет, это не означает, что возникновение такой утечки перманентного газа непросто.

Здесь есть две возможности:


Если вы действительно хотите отладить эту проблему и убедиться, что это ошибка Tomcat, вы можете использовать анализатор памяти Eclipse . У них есть хорошая запись в блоге, объясняющая, как отлаживать проблемы PermGen .

7
ответ дан 2 December 2019 в 01:49
поделиться

Мне всегда нравится принимать радикальные меры, чтобы убедиться, что все чисто и находится в полностью воспроизводимом состоянии при запуске

1) убить tomcat

2) удалить его с диска

3) разархивировать чистую версию

4) перезаписать ваши личные измененные конфигурированные файлы

5) перезапустить tomcat

6) развернуть ваше приложение

1
ответ дан 2 December 2019 в 01:49
поделиться

Взгляните на Apache Cactus - это фреймворк для серверного модульного тестирования в контейнере. Он работает практически с любым контейнером сервлетов.

-1
ответ дан 2 December 2019 в 01:49
поделиться
Другие вопросы по тегам:

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