是否可以将osgi-equinox引入到现有的java Apache Tomcat项目中? 从我的理解OSGI必须在某种“容器”内运行。我将如何整合它?将Equinox OSGi集成到Apache Tomcat Web应用程序
我还使用Jersey获取RESTful资源。
是否可以将osgi-equinox引入到现有的java Apache Tomcat项目中? 从我的理解OSGI必须在某种“容器”内运行。我将如何整合它?将Equinox OSGi集成到Apache Tomcat Web应用程序
我还使用Jersey获取RESTful资源。
你可能想看看这个问题: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运行时。
我明白了,这很有趣。那么你的意思是另一种方式是将OSGI作为自己的“网络服务器”来运行?但是,与Apache相比,osgi的服务器性能如何? – drozzy 2010-10-12 23:02:47
是否有可能像Jersey一样使用OSGi,它检查带注释的类并将请求转发给给定的url到合适的类? – drozzy 2010-10-14 17:58:39
我不能说,因为我还没有和泽西打过很多比赛,但是网页搜索泽西+ osgi似乎带来了很多内容。 – sjlee 2010-10-14 19:54:01