OSGi子系统可以取代Eclipse功能吗?

时间:2015-07-02 10:07:39

标签: eclipse osgi apache-felix bndtools subsystem

OSGi R5企业版包含子系统规范。

  • OSGi子系统是否包含Eclipse功能的所有功能?
  • 是否存在工具?

此映射的目的是重复使用现有的eclipse功能。基于felixbnd / bndtools的基础架构。

2 个答案:

答案 0 :(得分:4)

是的......有点儿。子系统功能强大,但也比Eclipse功能更复杂。

功能只是一组捆绑。您可以将多个功能安装到单个OSGi Framework中,并且每个功能的捆绑包可以相互交互,例如,通过导入包或绑定服务。这使得它们难以测试和推理,因为当与其他一些功能一起安装时,单独工作的功能可能不起作用。

子系统也是一组包,但它还包括一定程度的隔离。您可以控制来自一个子系统的包,服务和其他功能是否对任何其他子系统的成员可见。因此,它们更具可预测性。

不幸的是,构建一个子系统是一项复杂得多的任务,而且我所知道的并没有特定的工具。我们还没有在bnd / Bndtools中做任何事来帮助解决这个问题。但是,嘿,它是开源的...贡献欢迎;-)

答案 1 :(得分:0)

子系统和功能实际上是两个正交的东西。 Eclipse功能是一组可以安装到OSGi运行时的包。实际上,只要需要安装它们,具有大量Require-Bundle元素和特征的包之间的差别就不大了。

另一方面,OSGi子系统是一种允许嵌套OSGi运行时的方法。但是,它们在OSGi规范的最终版本中被更普通的布线构造所取代;但无论如何,他们做了完全不同的事情。