Встроенный Tomcat 7 медленный по сравнению с Tomcat 6 - PullRequest
10 голосов
/ 29 января 2012

Я недавно начал встраивать Tomcat 7 для своих интеграционных тестов, а не Tomcat 6, поскольку мне нужны некоторые из 7 функций, и это наш целевой контейнер.Производительность очень низкая по сравнению со встроенным Tomcat 6.Процесс запуска сервера занимает около 20 секунд.Это код, который я использую:

Tomcat tomcat = new Tomcat();
tomcat.setPort(port);
tomcat.setSilent(true);

tomcat.setBaseDir(".");
tomcat.getHost().setAppBase(webappDir);

tomcat.addWebapp(context, "");    
tomcat.start();

Кто-нибудь еще испытал это или получил предложения по улучшению производительности?Я запускаю тесты на Windows 7, Linux Mint и Ubuntu.

Ответы [ 2 ]

15 голосов
/ 29 января 2012

Возможно, это медленно из-за сканирования пути к классам, которое требуется для конфигурации Servlet 3.0 на основе аннотаций.Если вам не нужны эти функции, попробуйте добавить metadata-complete="true" к вашему web.xml.

5 голосов
/ 22 марта 2012

Вот как это выглядит в заголовке web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app metadata-complete="true" id="WebApp_ID" version="3.0"...

Дополнительная информация здесь: Веб-конфигурация Tomcat и Servlet 3.0

...