我对Blueprint和Spring DM有点困惑:
从认为是真的:
没有
我们可以期待这两个框架在未来成为一个(合并)吗?如果没有,哪一个将是最具前瞻性的?
答案 0 :(得分:30)
OSGi 4.2引入了基于的Blueprint Service规范 Spring Dynamic Modules项目,其中Spring DM(2.x)是 参考实施(RI)。
简而言之:Blueprint是一个规范,Spring DM是Blueprint API的实现
答案 1 :(得分:17)
蓝图是在SpringSource / Interface21的带领下在OSGi联盟中开发的。
但是,如果您正在寻找利用OSGi的方法,请在捆绑包(服务)之间使用带注释的声明式服务(DS)。根据我的经验,当你制作小的内聚束时,你并不需要布线XML。 DS在处理服务方面要比Blueprint / Spring DM好得多,因为他们倾向于“隐藏”动态性,而DS只是让它变得微不足道。
答案 2 :(得分:12)
我的理解是SpringDM is a dead project。检查GA和发布日期。因此,尽管它最终对规范的开发做出了很大贡献,但它对类加载器的处理方式却很糟糕。 Apache-Aries是一个强大的蓝图实施。请注意,使用蓝图并不排除使用弹簧。我建议Karaf作为一个强大的平台,可以使用Eclipse Equinox或Apache Felix作为OSGI引擎。如果您在应用程序级别开发,您的服务可能被企业中的其他团队或组织使用,或者您的客户进行了扩展,那么我喜欢蓝图而不是DS。我认为蓝图也更适合传统的企业计算环境。但根据您的特定目标环境,DS或Ipojo可能更合适。
答案 3 :(得分:9)
除了Dmytro Pishchukhin所回答的问题之外,应该注意的是,Spring DM项目有点死机,因为DM 2从未达到“发布”版本。
而是contributed to the Eclipse foundation,它变异为Gemini Blueprint project。
答案 4 :(得分:2)
在Gemini Blueprint文档的介绍中,他们清楚地解释了差异: http://www.eclipse.org/gemini/blueprint/documentation/reference/1.0.2.RELEASE/html/index.html
我在这里重现:
第1章Spring动态模块成为Eclipse Gemini Blueprint
2009年末,作为Gemini项目提案的成员,SpringSource向Eclipse Foundation提供了Spring Dynamic Modules(也称为Spring OSGi)项目。 Spring DM v2代码库已经移至Eclipse.org及其问题跟踪器和论坛。该项目在Apache License和EPL下获得双重许可。
虽然名称已更改,但代码及其功能保持不变。现有的Spring DM应用程序可以轻松迁移到Eclipse Gemini Blueprint,如迁移指南中所述。