2010-10-08 10 views

Odpowiedz

11

Możesz spojrzeć na to pytanie: OSGI runtime inside traditional Java EE server.

W tym modelu mostu, specjalny aplet jest zainstalowany i Tomcat wywołuje ten aplet do obsługi żądania. Z tego serwletu powstaje środowisko uruchomieniowe OSGi, ale samo środowisko wykonawcze OSGi (np. Równonocy) jest agnostyczne dla takich rzeczy jak HTTP. Zainstalowany jest także pakiet usług HTTP OSGi, a będziesz musiał zarejestrować swoją aplikację internetową (serwlet, jsp, ...) przeciwko tej usłudze protokołu HTTP OSGi, aby obsłużyć przychodzące żądania. Dlatego nie jest tak, że istnieje osobny "serwer WWW", który mówi o tym, który nasłuchuje na własnym porcie i zarządza HTTP sam poza Tomcat. Twój przebieg może się różnić, ale narzut jest w zasadzie ograniczony do tego, co może dodać usługa OSGi HTTP, gdy przekaże żądanie ze złącza Tomcat do serwletu.

Ten model mostu jest potrzebny, jeśli nie można zmienić istniejącego modelu wdrażania. Na dłuższą metę lepszym modelem jest najpierw środowisko uruchomieniowe OSGi i Tomcat (lub jakikolwiek inny kontener zgodny z OSGi) podłączany do środowiska wykonawczego OSGi jako pakunki.

+0

Widzę, to jest interesujące. Czy masz na myśli, że innym sposobem jest uruchomienie OSGI jako "serwera sieciowego" własnego? Ale jak wydajność serwerów Osgi jest porównywalna z Apache? – drozzy

+0

Czy można użyć czegoś takiego jak Jersey z OSGi, który sprawdza anotowane klasy i przekazuje żądanie pod dany URL do odpowiedniej klasy? – drozzy

+0

Nie mogę powiedzieć, ponieważ nie grałem zbyt dużo w Jersey, ale wyszukiwanie w sieci jersey + osgi wydaje się zawierać dużo treści. – sjlee