Получение экземпляра Jetty из веб-службы Spring - PullRequest
2 голосов
/ 14 февраля 2012

Я создаю веб-сервис с использованием Spring + Jetty + CXF, используя следующее:

<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxws:endpoint id="helloWorld" implementor="com.test.EndpointImp" address="http://localhost:9002/test">
</jaxws:endpoint>

Все это работает, как и ожидалось, и очень хорошо.Теперь мне нужно «подать» несколько сервлетов.Могу ли я в любом случае получить доступ к экземпляру Jetty Server, который создан для этого, чтобы я мог добавить сервлеты?Я не хочу создавать другой экземпляр Jetty на другом порту только для сервлетов, которые мне нужны.

Любая информация будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

Решение, которое вы ищете, описано в этой статье . Ключевыми моментами (о которых я также упомянул в моем посте ) является использование org.apache.cxf.transport.servlet.CXFServlet в вашем web.xml, не забудьте импортировать META-INF/cxf/cxf-servlet.xml (вы это сделали), а также использовать относительный address="/myservice" атрибут. В этом случае подпрограммы CXF не будут запускать встроенный Jetty, но будут использовать этот сервлет для обработки входящих запросов.

0 голосов
/ 17 февраля 2012

Конечно, веб-приложение может одновременно обрабатывать некоторые веб-сервисы и сервлеты.

Я полагаю, ваши веб-сервисы находятся в веб-приложении. Таким образом, у вас должен быть файл web.xml (в WEB-INF). Вы можете добавить свои объявления сервлетов в этот файл web.xml.

Jetty должна запустить ваше веб-приложение.

Мы не сможем вам больше помочь, если вы не предоставите нам более подробную информацию о вашем проекте (на основе Maven или нет, как вы запускаете Jetty и т. Д.).

...