Spring OSGi 状态

标签 spring osgi eclipse-gemini

Spring 和 OSGi 目前的开发状况如何?

最近好像有点安静了。

文档的最新版本 ( http://docs.spring.io/osgi/ ) 来自 2009 年。

我看到一些声明 Spring DM 已成为 Eclipse Gemini Blueprint ( http://www.eclipse.org/gemini/blueprint/documentation/migration/ )。但同样,最新版本是 2012 年 8 月发布的。

Spring 和 OSGi 是一条死路吗?如果是这样,还有哪些其他选项可以使 Spring 应用程序模块化(例如允许在运行的 JVM 中部署、启动、停止和更新模块)?

谢谢

最佳答案

我同意 OSGi 上的 spring 是一条死胡同。自从springsource放弃OSGi以来,里面似乎没有任何真正的驱动力。

不过还有一些替代方案。目前最稳定、最完整的是 Apache Aries。它提供类似于 spring xml 的蓝图支持以及一些扩展(例如 jpa 容器管理事务)。请注意,尽管 aries 包含的功能仍然比 spring 少得多。因此,例如注释支持非常有限。

Aries 蓝图的替代方案是声明式服务和 pax CDI。声明式服务占用空间非常小,而且非常稳定,并且对 OSGi 的动态性有很大的支持。另一方面,它比蓝图更加有限。例如,根本没有特殊的 jpa 支持。

PAX CDI 旨在使用 Open Webbeans 或 Weld + 一些扩展(例如 Deltaspike)在 OSGi 上提供 Java EE。结合起来,它会提供与 Java EE 6 类似的舒适度。不幸的是,它还没有完全完成,所以目前我还不认为它已准备好用于生产使用。

关于Spring OSGi 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24999002/

相关文章:

java - Spring Boot 应用程序未在 Tomcat 中配置的端口号上启动

jsf - OSGI 和 JSF 如何协同工作?

osgi - Apache Karaf 到底是什么?

java - 如何从 Pax Web 部署的网络包访问(蓝图)OSGi 服务?

java - OSGi 和 Gemini JPA : Using the Configuration Admin

Spring3 的 @Transactional @Scheduled 未提交给数据库?

spring - 前端和后端带有 Dart 的Spring Web Flow

java - Spring 启动: How to include a configuration class that is not in my base package?

eclipse - 在 Virgo 3.5 上使用 OBR