Легкая альтернатива Jetty

Обычно Jetty упоминается как легкая альтернатива, когда дело доходит до контейнеров сервлетов, таких как Tomcat и App Servers, таких как Glassfish.

Я хочу запустить службу RESTful в CloudFoundry. Использование причала

java -jar target/dependency/jetty-runner.jar target/*.war

работает отлично, за исключением того, что я сталкиваюсь с проблемами при запуске Jetty 9.1.3 (текущая стабильная)/w Java 8. Поэтому я внес исправление, чтобы исправить эту проблему и некоторые другие мелкие исправления для очистки кода. Настоящим я видел код Jetty, который не был в форме, я надеялся, что это будет...

Ну, я просто не хочу доверять свое корпоративное приложение Jetty и искать альтернативы. Также с 5.x MB, jetty-runner.jar по-прежнему огромна. Мне удалось разделить его на 1,6 МБ, и я все еще мог запускать свое приложение. Таким образом, возможен более легкий подход.

Есть ли облегченная версия GlassFish или Tomcat. Мне просто нужен сервлет-api.jar(v3.1), который запускается в контексте веб-сервера. Нет JSP, нет websocket-сервера, нет другого Voodoo.

Ответы

Ответ 1

Undertow - это гибкий веб-сервер, написанный в Java, предоставляя как блокирующие, так и неблокирующие API на основе NIO.

Undertow имеет основанную на композициях архитектуру, которая позволяет создавать веб-сервер, объединяя небольшие обработчики одноцелевого назначения. Это дает вам гибкость выбора между полным сервлетом Java EE 3.1 контейнера или низкоуровневого неблокирующего обработчика, что угодно в между ними.

Undertow - очень легкий вес, при этом ядро ​​Undertow в пределах менее 1 Мб. Он также легкий во время работы, с простым встроенный сервер, использующий менее 4 Мб кучного пространства.

Ссылка на официальный сайт.

Ответ 2

Поскольку вы отметили это как Джерси, я упомянул, что в документах Джерси показаны примеры развертывания с использованием HTTP-сервера, встроенного в среду выполнения Java:

https://jersey.java.net/documentation/latest/deployment.html#deployment.http