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