2010-10-08 98 views

回答

11

你可能想看看這個問題:OSGI runtime inside traditional Java EE server

在這個橋接模型中,安裝了一個特殊的servlet,Tomcat調用這個servlet來處理請求。 OSGi運行時是從這個servlet中產生的,但是OSGi運行時本身(例如equinox)不知道像HTTP這樣的事情。還安裝了OSGi HTTP服務包,您需要針對此OSGi HTTP服務註冊您的Web應用程序(servlet,jsp,...)以處理傳入的請求。因此,並不是說有一個單獨的「Web服務器」可以說是在它自己的端口上監聽並在它自己的外部Tomcat上管理HTTP。您的里程可能會有所不同,但開銷基本上受限於OSGi HTTP服務在將請求從Tomcat連接器轉發到您的servlet時可能會添加的內容。

如果您無法更改現有的部署模型,則需要此橋接模型。從長遠來看,更好的模型是先安裝OSGi運行時並將Tomcat(或任何其他兼容OSGi的容器)作爲捆綁插入OSGi運行時。

+0

我明白了,這很有趣。那麼你的意思是另一種方式是將OSGI作爲自己的「網絡服務器」來運行?但是,與Apache相比,osgi的服務器性能如何? – drozzy 2010-10-12 23:02:47

+0

是否有可能像Jersey一樣使用OSGi,它檢查帶註釋的類並將請求轉發給給定的url到合適的類? – drozzy 2010-10-14 17:58:39

+0

我不能說,因爲我還沒有和澤西打過很多比賽,但是網頁搜索澤西+ osgi似乎帶來了很多內容。 – sjlee 2010-10-14 19:54:01

相關問題