Встроенный Tomcat 7 медленный по сравнению с Tomcat 6

Недавно я начал внедрять 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.

Ответ 1

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

Ответ 2

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

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

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