领先一步
VMware提供培训和认证,以快速提升您的进度。
了解更多好吧,这花费的时间比我们最初预期的要长得多,但我非常高兴地宣布Spring动态模块项目今天达到了1.0里程碑。当我于2006年9月首次发布关于此主题的文章("Spring OSGi支持势头增强")时,最初的规范只是一个针对Spring框架问题的附件,与更广泛的OSGi社区的联系才刚刚开始建立。
十八个月后,Spring动态模块已成为Spring产品组合中的一个成熟项目,其贡献者来自SpringSource、BEA和Oracle。BEA和Oracle都在使用Spring动态模块来构建他们自己的基于OSGi的产品(例如,参见"WebLogic事件服务器——我们为什么使用Spring"),Spring动态模块讨论组拥有近1000名成员。OSGi联盟本身已经成立了一个企业专家组,SpringSource是该组的活跃成员。
每当我们在会议上谈到OSGi和Spring动态模块时,人们的兴趣都非常高。那么,这一切究竟是怎么回事呢?
OSGi服务平台是一个久经考验的轻量级运行时,它提供了一个“用于Java的动态模块系统”。它已被用于从嵌入式设备、汽车和电信应用程序到IBM、BEA和Oracle等公司的大型企业中间件产品的基础设施。Spring动态模块专注于使您能够在构建您自己的企业应用程序时利用OSGi服务平台。使用Spring动态模块构建并在OSGi服务平台上运行的应用程序由一组对等Spring应用程序上下文(每个OSGi捆绑包一个)组成,它们通过OSGi服务注册表进行交互。这是一个面向服务的架构,但完全位于您的虚拟机内部,使用常规的Java引用来访问服务。这样构建的应用程序的优点包括:
凭借1.0版本的发布,我们为模块生命周期和服务集成提供了一个可靠的解决方案。当谈到在OSGi服务平台上使用现有的(并非编写为在OSGi上运行)企业库时,仍然存在与类和资源加载以及可见性相关的陷阱。我们相信,我们在最近发布的Spring Framework 2.5中已经解决了Spring自身的所有这些问题。Spring动态模块的下一个版本的重点将是为其他常用企业库提供务实的解决方案,以便更容易编写在OSGi上运行的Spring驱动的Web应用程序。