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

And*_*yuk 6 java osgi equinox

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

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

sjl*_*lee 11

您可能希望看一下这个问题:传统Java EE服务器中的OSGI运行时.

在此桥模型中,安装了一个特殊的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运行时.