OSGi R5 Enterprise 版本包含子系统规范。
- OSGi 子系统是否包含 Eclipse 特性的所有功能?
- 工具是否存在?
这种映射的目的是重用eclipse
例如felix
或bnd
/bndtools
基于基础设施中的现有特征。
OSGi R5 Enterprise 版本包含子系统规范。
这种映射的目的是重用eclipse
例如felix
或bnd
/bndtools
基于基础设施中的现有特征。
是的……有点。子系统功能强大但也比 Eclipse 功能更复杂。
功能只是一组捆绑包。您可以将多个功能安装到单个 OSGi 框架中,每个功能的包可以相互交互,例如通过导入包或绑定服务。这使得它们难以测试和推理,因为单独工作的功能在与其他一些功能一起安装时可能无法工作。
子系统也是一组捆绑包,但它还包括一定程度的隔离。您可以控制来自一个子系统的包、服务和其他功能是否对任何其他子系统的成员可见。因此,它们更具可预测性。
不幸的是,构建子系统是一项复杂得多的任务,据我所知,没有专门的工具可以解决这个问题。我们没有在 bnd/Bndtools 中做任何事情来帮助解决这个问题。但是,嘿,它是开源的......欢迎贡献;-)
子系统和功能实际上是两个正交的东西。Eclipse 功能是一组可以安装到 OSGi 运行时的捆绑软件。Require-Bundle
实际上,就要求安装它们而言,具有大量元素的捆绑包和功能之间几乎没有区别。
另一方面,OSGi 子系统是一种允许嵌套 OSGi 运行时的提议方式。然而,在 OSGi 规范的最终版本中,它们被更通用的布线结构所取代。但无论如何,他们做的是完全不同的事情。