将Equinox OSGi集成到Apache Tomcat Web应用程序中

时间:2010-10-08 18:56:40

标签: java osgi equinox

是否有可能将osgi-equinox引入现有的Java Apache Tomcat项目? 根据我的理解,OSGI必须在某种“容器”中运行。我该如何整合它?

我也在使用Jersey来获取RESTful资源。

1 个答案:

答案 0 :(得分: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标准的容器)作为bundle插入OSGi运行时。