Можно ли использовать Jetty в качестве облегченного сервера приложений Java EE? - PullRequest
5 голосов
/ 05 февраля 2011

В области развертывания небольших веб-приложений Java EE на различных клиентских сайтах я ищу простое решение для сервера приложений.

Мне кажется, я помню, что слышал, что можно использовать Jetty в качестве JavaEE 6Облегченный сервер приложений, но я не могу найти больше доказательств этого в Интернете прямо сейчас.

Зная, что моя среда разработки - это JSF2 + RichFaces, CDI (Weld) и JPA 2 => NO EJBs в этомточка), является ли Jetty возможным решением для меня?

Если да, не могли бы вы указать мне какую-нибудь документацию или конкретные ключевые слова, помогающие мне?Если нет, какой другой легкий сервер приложений Java EE 6 мне следует использовать?

Ответы [ 2 ]

13 голосов
/ 06 февраля 2011

Jetty - это контейнер сервлетов, такой же, как Tomcat. На данный момент он совершенно не подходит в качестве сервера приложений Java EE 6, поскольку основным требованием для контейнера сервлета в этом стеке является контейнер Servlet 3.0.

Jetty 7, последняя стабильная версия, все еще находится в Servlet 2.5. На данный момент никто не знает, когда выйдет Jetty 8, который будет поддерживать Servlet 3.0, но уже можно скачать экспериментальные версии. Смотри http://www.eclipse.org/projects/project-plan.php?projectid=rt.jetty

Даже когда Jetty 8 будет в конечном итоге доступен, вам, конечно, все равно нужно будет добавить JSF2 (Mojarra), CDI (Weld) и JPA2 (Hibernate).

В настоящее время легкими альтернативами являются Glassfish V3 (особенно версия Web Profile). Это весит 47 МБ и дает вам полный веб-профиль. Glassfish запускается примерно за одну секунду на современных системах и примерно на 2 или 3 на старых. Объем памяти минимален.

Еще одна альтернатива - каучуковая смола. Это всего в нескольких шагах от сертификата Java EE 6 Web Profile (см. http://caucho.com/resin-4.0/changes/resin-4.0.14.xtp), и для всех практических целей уже полностью используется в качестве сервера приложений Java EE 6. Хотя я лично не использовал Resin, легкость кажется быть их главными приоритетами. (обратите внимание, что термин «легкий» - это неопределенный и очень спорный термин)

Наконец, вы можете запустить JBoss AS 6. Мало кто назвал бы JBoss AS «облегченным» (время запуска на быстром оборудовании составляет не менее 12 секунд, а размер загружаемого файла - 181 МБ), но это бесплатный и открытый исходный код, и в зависимости от вашего определения облегченного типа эти цифры могут быть «достаточно хорошими» .

0 голосов
/ 15 ноября 2013

Я был очень доволен решением, очень похожим на ваше, но использующим Spring 3 вместо CDI.Это почти то же самое.Внутри WAR все было в комплекте и для разработки было достаточно mvn jetty:run.Локальный сервер приложений не требуется.

Однако я уверен, что вы можете встроить реализацию Weld CDI в WAR.Тем не менее, я бы предпочел либо «настоящий» стек CDI JEE 6, либо Spring.

...