2013-05-28 108 views
1

我開始構建Web應用程序並使其可以與嵌入式Jetty服務器一起運行。然後我決定嘗試Apache CXF(我從來沒有用過)來提供SOAP/XML或REST/JSON接口(還沒有決定)。現在我被我讀過的各種帖子/文檔所困惑。Apache CXF Jetty端點與嵌入式Jetty容器的區別

我知道CXF實際上提供(在內部使用Jetty)可以發佈的自己的端點。那是對的嗎?但它看起來也可以捆綁並部署到現有的Web容器中(例如Tomcat,因此我也假設爲Jetty) - 這也正確嗎?

如果這兩個都是正確的,與使用單獨的容器相比,使用CXF Jetty端點開箱即用的優點/缺點/陷阱是什麼(特別是如果單獨的容器也嵌入Jetty) ?

回答

1

這實際上取決於您的應用程序和部署策略。 Jetty是一款輕量級的嵌入式應用程序服務器,您可以使用它來運行您自己的Web服務器。如果您選擇Apache Tomcat或JBoss或任何其他應用程序服務器,則您的應用程序可能會打包爲WAR並進行部署。不同之處在於,在Jetty中,應用程序控制容器,而與其他方式相反。無論選擇哪種應用程序服務器,CXF端點均可與任何支持JAX-RS或JAX-WS規範的容器一起使用。

注意:如果要將它部署到Tomcat或其他容器上,則不需要Jetty。

+0

但是什麼CXF碼頭( org.apache.cxf CXF-RT-傳輸-HTTP-碼頭)並加入碼頭分開( org.eclipse.jetty碼頭之間的差(如果有的話) -webapp)? – Matt

+0

來自[CXF文檔](http://cxf.apache.org/docs/using-cxf-with-maven.html),如果您使用Jetty作爲嵌入式容器,則需要cxf-rt-transports-http-jetty發佈您的端點。它提供CXF與Jetty一起使用所需的垂直。我不確定'jetty-webapp'是做什麼的,但我相信它是標準Jetty發行版附帶的幫助程序JAR – nadirsaghar