我試圖將Apache CXF與JAX-RS一起用作更大應用程序中的嵌入式REST端點。我無法使用彈簧配置的CXF,因爲我的應用程序需要管理Jetty實例和servlet的生命週期。如何將CXFNonSpringJaxrsServlet與serviceBean而不是serviceClass一起使用?
示例here顯示瞭如何使用服務類名稱執行此操作,但在我的應用程序中,傳遞類名稱而不是bean是迂迴和醜陋。任何人都可以指向我在這裏使用bean的方式嗎?
我試圖將Apache CXF與JAX-RS一起用作更大應用程序中的嵌入式REST端點。我無法使用彈簧配置的CXF,因爲我的應用程序需要管理Jetty實例和servlet的生命週期。如何將CXFNonSpringJaxrsServlet與serviceBean而不是serviceClass一起使用?
示例here顯示瞭如何使用服務類名稱執行此操作,但在我的應用程序中,傳遞類名稱而不是bean是迂迴和醜陋。任何人都可以指向我在這裏使用bean的方式嗎?
這是它是如何做
Object serviceObject = // your JAX-RS service object
JAXRSServerFactoryBean rs = new JAXRSServerFactoryBean();
rs.setServiceBeanObjects(serviceObject);
Server server = rs.create();
你要離開CXFNonSpringJaxrsServlet創建實例,但你可以通過擴展CXFNonSpringJaxrsServlet#configureSingleton
看到這個職位:CXF/Jetty equivalent of the following Jersey/Jetty code的解決方案。使用CXF 3.0.3和Jety 9.2.5.v20141112進行測試。
這段代碼創建一個服務器。 @Brandon明確地說他想用CXFNonSpringJAXRSServlet嵌入現有的Jetty。 –