Ускорение запуска приложений на Jetty - PullRequest
6 голосов
/ 11 ноября 2010

У меня небольшое веб-приложение, настроенное на Guice , Джерси и EclipseLink , и я запускаю это приложение на пристани (8.0.0.M1) во время разработки,Существует около 10 (маленьких) управляемых классов JPA (сущностей и встраиваемых объектов) и всего около 20 классов.

Первоначальный запуск занимает 15 секунд + 5 секунд для первых запросов.Похоже, что JPA работает над первым запросом, так как у меня включена стратегия создания таблиц "create", и я вижу некоторые выходные данные JPA из Maven по первому запросу.

Перезагрузка занимает около 10 секунд, а первый запроспосле перезагрузки это занимает от 3 до 4 секунд.

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

Ответы [ 2 ]

2 голосов
/ 15 ноября 2010

Боюсь, что если вы не готовы удалить стратегию создания таблицы, вам придется мириться с таким временем загрузки.По сути, каждый раз, когда вы запускаете ваше приложение, оно удаляет / создает / проверяет таблицы и выдает правильные операторы DDL, чтобы оно соответствовало сущностям в вашем пакете.

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

0 голосов
/ 18 ноября 2010

Я полагаю, что вы используете Jetty для быстрой разработки приложений (RAD) и хотите как можно быстрее увидеть и протестировать любые изменения.Если нет фактических «постоянных» требований к базе данных вашей среды RAD, вы можете попробовать перейти к механизму БД im-memory.Механизм БД, такой как HSQL, позволяет очень быстро раскручивать новые таблицы (и другие структуры) по сравнению с двигателями БД реального качества.Для этого потребуется использовать ORM, потому что SQL-код HSQL сильно отличается от большинства других баз данных, но, похоже, вы уже используете JPA, так что это не должно быть трудным.где его схема уже создана надлежащим образом и не удаляется каждый раз.

...