web.xml в контейнере OSGi - PullRequest
       6

web.xml в контейнере OSGi

4 голосов
/ 12 января 2011

профи! Выглядит как основной вопрос, но я просто не могу найти то, что ищу.

У меня есть Equinox, и я хочу запустить Spring (начальная загрузка в Servlet). Я не могу использовать dm-сервер и не могу использовать http-мост, просто обычный Equinox. С другой стороны, использовать расширение http сервлетов реестра plugin.xml недостаточно, поскольку мне нужен полноценный файл web.xml для начальной загрузки Spring.

Куда мне копать?

Спасибо! Барух.

Ответы [ 2 ]

6 голосов
/ 12 января 2011

Для поддержки «традиционного» (он же унаследованного) файла web.xml для развертывания веб-приложений требуется реализация спецификации OSGi Web Applications, части спецификации OSGi R4.2 Enterprise.Это позволит вам развернуть «Пакеты веб-приложений» (WAB) или даже простые старые файлы WAR.

Существуют реализации этого контейнера как в проектах Eclipse Gemini, так и в Apache Aries.Обратите внимание, что тот, что находится в Eclipse Gemini, также находится в Eclipse Virgo (новое имя для dm Server).Возможно, вы обнаружите, что использование Virgo обеспечит вам более чистую работу, а не сборку компонентов самостоятельно.Опять же, я полностью понимаю, предоставляет ли он также намного больше, чем вы действительно хотите!

Альтернативой этому является переход от web.xml и программная регистрация сервлетов с помощью OSGi HttpService.Это должно быть намного проще, но я не знаю, сработает ли это для «начальной загрузки Spring» - довольно смутное требование.

0 голосов
/ 13 января 2011

Или вы можете использовать пакет OSGi tomcat, который позволит вам загружать пакеты в виде военных файлов.Проблема в том, что имя вашего веб-пакета должно заканчиваться на «.war», и перед этим суффиксом стоит только имя приложения.Так что, если ваш пакет называется myapp.war, вы подключаетесь к нему с помощью http://your.server.cc/myapp (и, насколько я знаю, изменить это невозможно)

...