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

发布于 2024-09-26 20:59:09 字数 180 浏览 4 评论 0原文

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

我还使用 Jersey 获取 RESTful 资源。

Is it possible to introduce osgi-equinox into existing java Apache Tomcat project?
From my understanding OSGI must run inside some kind of "container". How would I integrate it?

I am also using Jersey for RESTful resources.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北陌 2024-10-03 20:59:09

您可能想看看这个问题:传统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 的容器)作为捆绑包插入到 OSGi 运行时。

You may want to look at this question: OSGI runtime inside traditional Java EE server.

In this bridge model, a special servlet is installed and Tomcat invokes this servlet to handle the request. An OSGi runtime is spawned from within this servlet, but the OSGi runtime itself (e.g. equinox) is agnostic of things like HTTP. An OSGi HTTP service bundle is also installed, and you'll need to register your web app (servlet, jsp, ...) against this OSGi HTTP service to handle the incoming requests. Therefore, it is not like there is a separate "web server" to speak of that listens on its own port and manages HTTP on its own outside Tomcat. Your mileage may vary, but the overhead is basically limited to whatever the OSGi HTTP service might add when it forwards the request from the Tomcat connector to your servlet.

This bridge model is needed if you cannot change the existing deployment model. In the long run, a better model is to have the OSGi runtime first and have Tomcat (or any other OSGi-compliant container) plug into the OSGi runtime as bundles.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文