Как использовать CXFNonSpringJaxrsServlet с serviceBean вместо класса обслуживания?

Я пытаюсь использовать Apache CXF с JAX-RS в качестве встроенной конечной точки REST в более крупном приложении. Я не могу использовать CXF с настройкой spring, потому что моему приложению необходимо управлять жизненным циклом экземпляра Jetty и сервлетов.

Пример здесь показывает, как это сделать со службой имя класса, но в моем приложении будет окольным путем и некрасиво передавать имя класса, а не bean-компонент. Может ли кто-нибудь указать мне способ использования bean здесь?


person Brandon    schedule 26.09.2012    source источник


Ответы (3)


Вы должны оставить CXFNonSpringJaxrsServlet для создания своего экземпляра, но вы можете настроить его (= привязать к внешнему миру), расширив CXFNonSpringJaxrsServlet#configureSingleton.

person Raphael Jolivet    schedule 14.01.2014

См. этот пост: CXF/Jetty эквивалент следующего Джерси/Jetty код для решения. Протестировано с CXF 3.0.3 и Jety 9.2.5.v20141112.

person Maarten Boekhold    schedule 19.01.2015

Вот как это делается

Object serviceObject = // your JAX-RS service object
JAXRSServerFactoryBean rs = new JAXRSServerFactoryBean();
rs.setServiceBeanObjects(serviceObject);
Server server = rs.create();
person nadirsaghar    schedule 06.05.2013
comment
Этот фрагмент кода создает сервер. @Brandon прямо говорит, что хочет использовать CXFNonSpringJAXRSServlet для встраивания в существующую Jetty. - person Raphael Jolivet; 14.01.2014