OSGi:蓝图vs.Spring DM

OSGi:蓝图vs.Spring DM,osgi,blueprint,spring-dm,Osgi,Blueprint,Spring Dm,我对Blueprint和Spring DM有点困惑: 从我认为是真的: SpringDM是由SpringSource定义的框架 Blueprint是由OSGi联盟定义的框架 Blueprint“采纳”了SpringDM的许多想法 没有 我们能否期望这两个框架在将来成为一个(合并)?如果不是,哪一个将是最能证明未来的 OSGi4.2介绍了基于 Spring动态模块项目,其中Spring DM(2.x)是 参考实现(RI) 简而言之:Blueprint是一个规范,Spring DM是Bluepr

我对Blueprint和Spring DM有点困惑:

从我认为是真的:

  • SpringDM是由SpringSource定义的框架
  • Blueprint是由OSGi联盟定义的框架
  • Blueprint“采纳”了SpringDM的许多想法
没有

我们能否期望这两个框架在将来成为一个(合并)?如果不是,哪一个将是最能证明未来的

OSGi4.2介绍了基于 Spring动态模块项目,其中Spring DM(2.x)是 参考实现(RI)


简而言之:Blueprint是一个规范,Spring DM是Blueprint API的一个实现。除了Dmytro Pishchukhin所回答的之外,应该注意的是Spring DM项目在某种程度上是一个死项目,因为DM 2从未达到“发布”版本


相反,它是在SpringSource/Interface21的领导下,在OSGi联盟中开发的


但是,如果您正在寻找一种利用OSGi的方法,请在捆绑包(服务)之间使用带有注释的声明性服务(DS)。根据我的经验,在创建小型内聚捆绑包时,实际上并不需要连接XML。DS在处理服务方面比Blueprint/Spring DM好得多,因为它们倾向于“隐藏”动态性,而DS只是让它变得微不足道。

我的理解是。检查GA和发布日期。因此,尽管它最终对规范的开发做出了很大贡献,但它对类加载器的处理方法很糟糕。是一个强大的蓝图实现。请注意,使用blueprint并不排除使用spring。我建议作为一个健壮的平台,可以使用OSGI引擎,也可以用于OSGI引擎。如果您在应用程序级别开发,您的服务可能会被您企业内的其他团队或组织使用,或者被您的客户扩展,那么我喜欢blueprint vs DS。我认为blueprint也更适合传统的企业计算环境。但DS或DS可能更合适,具体取决于您的特定目标环境。

在双子座蓝图文档介绍中,他们清楚地解释了区别:

我在此转载:

第一章。Spring动态模块成为Eclipse双子座蓝图

在2009年底,作为Gemini项目提案的成员,Spring Stand为Eclipse基金会贡献了Spring Demand模块(也称为Spring OSGi)项目。SpringDMV2代码库已被移动到Eclipse.org及其问题跟踪器和论坛。该项目在Apache许可和EPL下获得双重许可

虽然名称已更改,但代码及其功能保持不变。现有的SpringDM应用程序可以很容易地迁移到EclipseGeminiBlueprint,如迁移指南中所述


除此之外,=)还有ApacheAries,它是Blueprint规范的另一个实现。@ArchimedesTrajano谢谢,我刚刚检查了链接,我认为我仍然倾向于Blueprint。你的选择,只是不要说我警告过你:-)现在,SpringDM的继任者Gemini Blueprint是参考实现()关于SpringDM的“类加载器的糟糕方法”,你能分享一些见解/建议吗?我对后果很好奇。