Разница между конечной точкой Apache CXF Jetty и встроенным контейнером Jetty

Я начал создавать веб-приложение и сделал его работоспособным с помощью встроенного сервера Jetty. Затем я решил попробовать Apache CXF (который я никогда раньше не использовал), чтобы предоставить интерфейс SOAP/XML или REST/JSON (еще не решил, какой именно). Теперь я немного смущен различными сообщениями/документами, которые я прочитал.

Я понимаю, что CXF фактически предоставляет (внутренне используя Jetty) свои собственные конечные точки, которые можно публиковать. Это правильно? Но похоже, что его также можно связать и развернуть в существующих веб-контейнерах (например, Tomcat, и, следовательно, я предполагаю, что также Jetty) - это тоже правильно?

Если оба из них верны, каковы плюсы/минусы/подводные камни использования готовых конечных точек CXF Jetty по сравнению с использованием отдельного контейнера (особенно если в отдельный контейнер также встроен Jetty)?


person Matt    schedule 28.05.2013    source источник


Ответы (1)


Это действительно зависит от вашего приложения и стратегии развертывания. Jetty — это легкий встроенный сервер приложений, который вы можете использовать для запуска собственного веб-сервера. Если вы выберете Apache Tomcat, JBoss или любой другой сервер приложений, ваше приложение, скорее всего, будет упаковано как WAR и развернуто. Разница в том, что в Jetty ваше приложение управляет контейнером, а в других наоборот. Независимо от выбора сервера приложений, конечные точки CXF предназначены для работы с любым контейнером, поддерживающим спецификации JAX-RS или JAX-WS.

Примечание. Вам не нужен Jetty, если вы собираетесь развернуть его на Tomcat или других контейнерах.

person nadirsaghar    schedule 28.05.2013
comment
Но в чем разница (если есть) между CXF Jetty (‹groupId›org.apache.cxf‹/groupId›‹artifactId›cxf-rt-transports-http-jetty‹/artifactId›) и добавлением Jetty отдельно (‹groupId ›org.eclipse.jetty‹/groupId›‹artifactId›jetty-webapp‹/artifactId›) ? - person Matt; 29.05.2013
comment
из документации CXF, cxf-rt-transports-http- Jetty необходим, если вы используете Jetty в качестве встроенного контейнера для публикации ваших конечных точек. Он обеспечивает отвес, необходимый для работы CXF с Jetty. Я не уверен, что делает jetty-webapp, но я считаю, что это вспомогательный JAR, поставляемый со стандартным дистрибутивом Jetty. - person nadirsaghar; 29.05.2013