Интеграция Equinox OSGi в веб-приложение Apache Tomcat - PullRequest
6 голосов
/ 08 октября 2010

Возможно ли ввести osgi-equinox в существующий Java-проект Apache Tomcat? Насколько я понимаю, OSGI должен работать внутри какого-то «контейнера». Как бы я это интегрировал?

Я также использую Джерси для ресурсов RESTful.

1 Ответ

11 голосов
/ 12 октября 2010

Возможно, вы захотите взглянуть на этот вопрос: Время выполнения OSGI на традиционном сервере Java EE .

В этой модели моста установлен специальный сервлет, и Tomcat вызывает этот сервлет для обработкизапрос.Среда выполнения OSGi порождается внутри этого сервлета, но сама среда выполнения OSGi (например, равноденствие) не зависит от таких вещей, как HTTP.Также установлен пакет службы OSGi HTTP, и вам нужно зарегистрировать свое веб-приложение (servlet, jsp, ...) в этой службе HTTP OSGi для обработки входящих запросов.Следовательно, нельзя сказать, что существует отдельный «веб-сервер», который прослушивает собственный порт и управляет HTTP самостоятельно вне Tomcat.Ваш пробег может варьироваться, но накладные расходы в основном ограничены тем, что может добавить служба HTTP OSGi при пересылке запроса от соединителя Tomcat на ваш сервлет.

Эта модель моста необходима, если вы не можете изменить существующее развертывание.модель.В долгосрочной перспективе, лучшая модель - сначала иметь среду выполнения OSGi, а Tomcat (или любой другой контейнер, совместимый с OSGi) подключать к среде выполнения OSGi в виде пакетов.

...