36

我对 Blueprint 和 Spring DM 有点困惑:

从我认为是真的:

  • Spring DM 是 Spring Source 定义的框架
  • Blueprint 是 OSGi 联盟定义的框架
  • Blueprint 从 Spring DM 中“汲取”了许多想法

不?

我们能否期望这两个框架在未来合而为一(合并)?如果没有,哪一个将是最有未来感的?

4

5 回答 5

30

OSGi 4.2 引入了基于 Spring DM (2.x) 是参考实现 (RI) 的 Spring Dynamic Modules 项目的蓝图服务规范。

简而言之:Blueprint 是一个规范,Spring DM 是 Blueprint API 的一个实现

于 2012-04-04T10:04:02.097 回答
17

Blueprint 是在 SpringSource/Interface21 的领导下在 OSGi 联盟中开发的。

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

于 2012-04-05T12:48:56.803 回答
12

我的理解是SpringDM 是一个死项目。检查 GA 和发布日期。因此,尽管它最终对规范的开发做出了很大贡献,但它对类加载器的处理方式很糟糕。 Apache-Aries是一个强大的蓝图实现。请注意,使用蓝图并不排除使用弹簧。我建议将Karaf作为一个健壮的平台,可以使用Eclipse EquinoxApache Felix对于 OSGI 引擎。如果您在应用程序级别进行开发,您的服务可能被企业内的其他团队或组织使用,或者被您的客户扩展,我喜欢 blueprint 与 DS。我认为蓝图也更适合传统的企业计算环境。但根据您的特定目标环境,DS 或Ipojo可能更合适。

于 2012-08-04T12:15:30.053 回答
9

除了 Dmytro Pishchukhin 的回答之外,应该指出 Spring DM 项目在某种程度上是一个死项目,因为 DM 2 从未达到“发布”版本。

相反,它被贡献给了 Eclipse 基金会,在那里它变成了Gemini Blueprint 项目

于 2012-04-04T13:41:57.937 回答
2

在 Gemini Blueprint 文档的介绍中,他们清楚地解释了区别: http: //www.eclipse.org/gemini/blueprint/documentation/reference/1.0.2.RELEASE/html/index.html

我在这里复制:

第 1 章 Spring 动态模块成为 Eclipse Gemini 蓝图

2009 年底,作为 Gemini 项目提案的成员,SpringSource 向 Eclipse 基金会贡献了 Spring Dynamic Modules(也称为 Spring OSGi)项目。Spring DM v2 代码库连同其问题跟踪器和论坛已移至 Eclipse.org。该项目在 Apache 许可和 EPL 下获得双重许可。

虽然名称已更改,但代码及其功能保持不变。如迁移指南中所述,现有 Spring DM 应用程序可以轻松迁移到 Eclipse Gemini Blueprint。

于 2014-03-05T10:08:55.173 回答