我正在研究以前使用Apache Felix作为OSGi框架的嵌入式系统。我的任务是删除Felix并将其替换为Equinox,因为Equinox目前支持更新版本的OSGi规范。
设备上的软件具有相当数量的专有代码,这些代码直接与通常随Felix一起提供的某些捆绑(诸如eventadmin和日志捆绑包之类的东西)相关联。这些捆绑包的Equinox版本不同,重新编写代码需要做很多工作。
有没有理由不继续使用这些Felix捆绑包,即使将底层框架从Felix切换到Equinox?
我想澄清一点,我仍然试图围绕OSGi究竟做些什么。我关心的是,通过不使用Equinox捆绑包,我们将失去切换到Equinox的优势(我担心提供最新规范的所有额外代码都来自捆绑包并且专门为Equinox设计的应用程序将使用这些捆绑包。)。
答案 0 :(得分:4)
Apache Felix框架实现了OSGi核心规范,而不是更多。 Equinox还实现了OSGi核心规范。
您在询问是否可以在Equinox中使用Apache Felix(EventAdmin,SCR,...)的子项目。答案是肯定的。您可以在Equinox中使用许多子项目(如果不是全部),因为它们仅依赖于核心规范。
他们被称为" Felix ......" 可能会令人困惑。它们可以被称为其他任何东西,因为它们与容器实现无关,只有Felix和Equinox实现的规范。
顺便说一句:有些子项目实施了OSGi Compendium规范的章节。如果其他人完全执行相同的章节,那么它们应该可以切换而不会出现问题。