java - 如何在 Tomcat 上找到 "run"OSGi 片段?

标签 java tomcat osgi fragment

我想将一些现有的 OSGi 包和片段集成到一个 servlet 中,并在 Tomcat 7 上运行它。遵循本教程 http://www.javaworld.com/javaworld/jw-06-2008/jw-06-osgi3.html我设法在服务器上运行这些包。 我读到,片段没有生命周期,所以我假设,我只需要运行 bundle 并自动找到片段。然而,当在服务器上启动 bundle 时,似乎没有找到 OSGi 片段。在 OSGi 控制台上调用“ss”,我可以看到我的包处于 Activity 状态。该片段的状态为“已安装”。

31  ACTIVE      myBundle
34  INSTALLED   myFragment

由于片段在包中的集成有效,当我在 Eclipse(作为 OSGi 平台)中运行它时,我假设 Manifest.MF 文件是正确的。这个假设是否正确?

还是我漏掉了另一点?我需要以某种方式“启动”片段吗?

谢谢!

最佳答案

我刚刚在这里找到了答案: How do I ensure my OSGi fragments get installed before the host bundle?

引文:“人们在 OSGi 中犯的最常见的错误之一是试图在每个包安装后立即启动它。你不能这样做,即你不应该启动任何包,直到你安装了你想要的所有包打算跑。”

关于java - 如何在 Tomcat 上找到 "run"OSGi 片段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17150411/

相关文章:

java - Java中的多线程聊天服务器

java - 将 JSF inputText 的内容写入文件

java - 使用所有元素对二维数组进行排序

session - Tomcat 上 session 复制的缺点是什么?

java - 帮助制定为期 2 周的 Spring 和 OSGi 学习计划

java - 如何解决JSP中Oracle缺少表达式的问题?

Tomcat Maven 插件在 webapp 部署时抛出异常

tomcat - 当我们第一次部署一个WAR 文件时,一些代码可以运行吗?

java - 我应该保持 OSGi ServiceTracker 打开,还是在使用后关闭它?

java - NoClassDefFoundError 尽管有 OSGi 包