OSGi:Blueprint vs. Spring DM

Fri*_*izz 36 osgi blueprint spring-dm

我对Blueprint和Spring DM有点困惑:

从我的想法是真的:

  • Spring DM是Spring Source定义的框架
  • 蓝图是OSGi联盟定义的框架
  • Blueprint已经从Spring DM中"获取"了许多想法

没有?

我们可以期望这两个框架在未来成为一个(合并)吗?如果没有,哪一个将是最具前瞻性的?

Dmy*_*hin 30

OSGi 4.2引入了基于Spring Dynamic Modules项目的Blueprint Service规范,其中Spring DM(2.x)是参考实现(RI).

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

  • 而现在,Spring DM的继任者Gemini Blueprint是参考实现([来源](http://www.eclipse.org/gemini/blueprint/documentation/reference/1.0.2.RELEASE/html/blueprint.html))的Blueprint API. (2认同)

Pet*_*ens 17

Blueprint是在SpringSource/Interface21的带领下在OSGi联盟中开发的.

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

  • @ArchimedesTrajano [声明服务](http://wiki.osgi.org/wiki/Declarative_Services) (3认同)

Ed *_*Ost 12

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


小智 9

除了Dmytro Pishchukhin所回答的问题之外,应该注意的是,Spring DM项目有点死机,因为DM 2从未达到"发布"版本.

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

  • 除此之外,还有Apache Aries,它是Blueprint规范的另一个实现. (9认同)