我想将一些现有的 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/