tomcat – 在OSGi中将OSGi嵌入到servlet容器或servlet容器中?

我需要在servlet中重用最初为 Eclipse RCP应用程序开发的代码(即盒装为Eclipse插件/ OSGi包).

在阅读了很多博客文章,文章,维基等后,我最终知道:

> OSGi框架(在我的例子中是Equinox)可以嵌入到servlet容器中(在我的例子中是Tomcat 7)
>或Tomcat可以嵌入OSGi框架中.

Equinox建议第二个选项更容易.但对于生产他们建议1.我不确定为什么.在哪种情况下真的更好,为什么?

我是一个经验丰富的Tomcat用户,会将Tomcat嵌入Equinox变更管理吗?或者换句话说,嵌入在Equinox中的Tomcat会有什么不同?

首先,除了清单之外,代码是否还有任何OSGi / Equinox依赖项?如果不是它应该在普通的Tomcat中工作得很好.

我的理解是在Tomino中嵌入Tomcat会改变对它的管理.您的文件夹布局(包括server.xml和catalina.sh)将消失.相反,您可能会通过配置管理员管理Equinox应用程序.

其次,OSGi有两个servlet编程和部署模型.第一个是HttpService,您可以在其中以编程方式注册您的servlet和资源(您也可以通过扩展点执行此操作).在这种情况下,您的应用程序只是一个包的集合.但是,您无法使用过滤器.第二个是Web应用程序包(WAB),它是OSGified WAR.

相关文章
相关标签/搜索