2010-10-08 97 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

相关问题