Spring Batch 1.0.0.m4 发布

发布 | Dave Syer | 2008 年 2 月 7 日 | ...

Spring Batch 1.0.0.m4 现在可以通过 s3 Milestone 仓库获取(浏览地址:http://s3browse.com/explore/maven.springframework.org/milestone/org/springframework/batch)。更多信息请参阅 Spring Batch 下载页面(http://static.springframework.org/spring-batch)。

 

我们调整了发布计划,以便挤进一个额外的里程碑版本,Ben 和 Lucas 将专注于此,因此 1.0.0.m5 将在未来 10-14 天内发布。之后,我们还有时间发布 rc1,如果需要,还有 rc2 的余地,然后在预期的 3 月 20 日发布最终版本。

Spring Batch 最新更改和即将发布的 m4 版本

工程 | Dave Syer | 2008 年 2 月 4 日 | ...

我们一直非常努力地在 Spring Batch 上工作,为 Spring Portfolio 2.5 发布列车做准备,我认为现在是向大家更新进展的好时机。在本文中,我将稍微详细阐述领域建模,以及我们决定提升一些核心领域对象的地位并增加其职责的决定。我还将简要介绍 1.0 版本之前接下来几个版本中的一些新特性,以便大家有机会提出意见。

顺便说一下,抱歉:内部发生了一些相当重大的变化……

有些决定很容易——比如 SpringSource 收购 Covalent

工程 | Rod Johnson | 2008 年 1 月 29 日 | ...

我的上一篇博客展示了 Spring 如何超越 EJB。BZ Media 和其他机构的研究表明,Apache Tomcat 是领先的开源应用服务器,市场渗透率达 64%。Spring 和 Tomcat 的主导地位众所周知。大家可能不太了解的是,成千上万的组织正在使用 Tomcat 作为其中间件基础设施来运行 Spring。这些组织希望有一个公司能够提供他们所需的成功产品和服务。

今天我们宣布收购Covalent Technologies。Covalent 不仅带来了 Apache 的领导地位,我们合并后的公司现在在 Apache Tomcat 和 HTTP 方面也拥有重要的领导地位。两周前,Sun 为 LAMP 中的“M”支付了 10 亿美元。现在,Covalent 出色的 Apache 专业知识和服务成为 SpringSource 的一部分,我们在“A”方面成为了强大的领导者。我们始终追求技术领导地位,因此对于我们与 Covalent 的合作感到非常兴奋。在过去几年里,Covalent 通过对包括 Tomcat 和 Apache HTTP 在内的 Apache 项目的支持,在市场上赢得了良好的声誉。其数百家支持客户包括财富 500 强中一半以上的公司,以及辉瑞、强生、英国电信 (BT)、NASA、英特尔、苏格兰皇家银行和贝尔斯登等家喻户晓的公司。我们的公告……

Spring 2.5 的全面注解支持

工程 | Juergen Hoeller | 2008 年 1 月 28 日 | ...

Spring 2.5 背后的核心主题之一是全面的基于注解的配置。我们已经讨论和撰写了很多关于 @Autowired、Spring MVC 的 @RequestMapping 以及对使用 JUnit4 或 TestNG 编写的带注解测试的新支持。@Autowired 无疑是 Spring 2.5 注解中的核心,可用于服务组件、Web 组件、单元测试——甚至在使用 Spring 的 @Configurable 和 AspectJ 织入时的领域对象。Spring MVC 的 @RequestMapping 也同样灵活,支持多种处理方法签名变体。

今天我……

Spring Dynamic Modules 达到 1.0 版本!

工程 | Adrian Colyer | 2008 年 1 月 25 日 | ...

嗯,这比我们最初预期的要花费更长的时间,但我非常高兴地宣布 Spring Dynamic Modules 项目今天达到了 1.0 里程碑版本。当我第一次在 2006 年 9 月发表关于这个主题的文章(“Spring OSGi 支持正在取得进展”)时,最初的规范只是 Spring Framework 相关问题的一个附件,与更广泛的 OSGi 社区的联系才刚刚开始建立。

快进十八个月,Spring Dynamic Modules 已成为 Spring 产品组合中的一个成熟项目,提交者来自 SpringSource、BEA 和 Oracle。BEA 和 Oracle 都正在使用 Spring Dynamic Modules 构建自己的基于 OSGi 的产品(例如,请参阅“WebLogic Event Server - 我们为什么使用 Spring”),并且 Spring Dynamic Modules 讨论组拥有近 1000 名成员。OSGi 联盟本身已经组建了一个企业专家组……

Spring Dynamic Modules 1.0 发布了

工程 | Costin Leau | 2008 年 1 月 25 日 | ...

我很高兴地报告(与 Adrian 一起)经过 3 个里程碑版本和 2 个发布候选版本,Spring Dynamic Modules(以前称为 Spring OSGi)1.0 版本已经发布

自我的上一篇文章(关于 1.0 M1)以来,许多功能得到了改进或添加;我将在未来的文章中详细讨论它们(还有详细解释该库的参考文档),所以这里只列举几个:

- 一致性

我们希望提供一个强大、简单且一致的编程模型。这就是 Spring Dynamic Modules 构建于 Spring 之上并利用其成熟概念、可靠性和普遍性的原因。

- 高度非侵入性

推荐使用 Spring DM 的方法是不要在你的代码中使用其类,或在你的 Bundle Manifest 中导入它们。如果你在代码中不使用 Spring,仅用于你的应用程序配置,同样的规则也适用。Spring DM 为你创建应用程序上下文,因此你无需依赖 Spring 或 Spring DM。而且不必担心自定义命名空间或 XML Schema 等问题——我们已经涵盖了这些。

- OSGi 服务动态生命周期管理

这是 Spring DM 最重要的特性之一——能够像处理普通 Bean 一样与 OSGi 服务交互。无需编写任何代码即可发布和消费 OSGi 服务;我们将为你处理其动态性——你拥有完全的控制权(未来会详细介绍)。

- 更智能的集成测试框架

由于我们在内部广泛使用了 Spring-DM 集成测试,我们改进了默认设置、Maven 集成,并使自动 Manifest 生成比以前更快更智能。例如,框架会自动确定测试 Bundle 中可用的类,并且不会为其生成导入。

- 简单的 Bundle 交互

Andy Piper(博客)添加了一种简单、声明式的方法来根据模块生命周期和 Spring Bean 依赖关系安装/启动/停止/更新 Bundle。

- 受管理的启动/关闭上下文创建

在 OSGi 中,应用程序被分解成各种模块(也称为 Bundle),它们相互依赖服务。这在模块之间创建了一个依赖树,这在启动和关闭期间变得很重要。传统上可以通过按照依赖顺序安装和启动 Bundle 来解决这个问题,但这并不能完全解决问题。正如 OSGi 规范所建议的,初始化时间较长的 OSGi 服务(例如连接池)应该依赖于与用于启动和停止 Bundle 的线程不同的线程。这意味着如果一个 Bundle 启动了,并不意味着其服务就可用了。而且并非所有应用程序都准备好在启动时等待其所需的服务——事实上,很少有应用程序会这样做。这意味着一个 Bundle 会失败,因为它依赖于稍后几毫秒发布的服务(默认情况下,OSGi 是一个虚拟机内平台,事情发生得非常快)。

这种行为并不罕见——事实上,在具有多个 Bundle 的多核平台启动时非常常见。Spring DM 通过确定依赖关系(来自 Spring 配置)并在依赖可用后才创建应用程序上下文来解决这个问题。在关闭时也会使用类似的过程,Spring DM 将根据它们的依赖顺序停止上下文,这样你就不必担心启动或停止你的 Bundle 了。

- 无线程依赖等待

在讨论依赖机制时,不能不提到 Hal Hildebrand 实现的用于依赖等待的“无线程”方法(我知道这听起来有点矛盾——我们正在为它想一个好听的名字)(请参阅他的博客)。由于各种服务需要可用,模块才能正确启动,因此需要某种等待/监控机制,传统上这意味着使用一个线程。

然而,在一个 OSGi 平台上可以有(并且将会出现)多个模块(几十个轻而易举)——每个模块使用一个等待线程根本无法扩展。我们努力改进了这一点,我相信我们提供了一个非常好的解决方案——在等待过程中完全不使用线程。这意味着无论部署 3 个 Bundle 还是 300 个,都不会消耗 CPU 时间,除非你的模块实际开始启动。

 

Spring Dynamic Modules 不仅仅是将 API“Spring 化”,而是处理一个不同的运行时环境。

 

关于工具方面,Spring IDE 支持 Spring DM 命名空间,并且(感谢Christian)还为 Eclipse PDE 提供了 Spring-DM 特定目标,这是 Spring IDE 每夜构建版本中的一个功能(关于安装和使用该插件的更多信息可以在参考文档中找到)。

 

未来方向

 

既然 1.0 已经发布,接下来是什么?有很多领域需要涵盖

Web 支持

OSGi 平台提供了一个专用的Http 服务,但使用它需要编码。资源加载、JSP 生成和部署等事情可以大大简化。这是 1.1 版本的主要重点领域。

持久化

现代持久化工具提供了高级功能,例如延迟加载,这些功能通过依赖于类生成和代理,打破了 OSGi 环境强制执行的模块化边界。我们希望解决这个问题,就像 Web 支持一样,提供平滑的体验,无论是使用纯 JDBC 还是 ORM 工具。

AOP

继持久化问题之后,我们正在寻求在 OSGi 内部进行通用 AOP 的解决方案。这是一个难题,要正确实现它,需要内部 OSGi 平台的支持。好消息是,像 Equinox Aspects 这样的项目已经开辟了道路,并且 OSGi 企业专家组 (EEG) 也已将该问题纳入他们的关注范围。

 

说够了

 

如果你想了解更多关于 Spring Dynamic Modules 的信息,请访问项目页面和参考文档,并使用我们的邮件列表(论坛很快就会出现)。此外,最近我们制作了一些 OSGi/Spring DM截屏视频,这些视频可在 Spring DM 主页上找到。第一个视频(由两部分组成),由我本人制作,展示了如何快速创建一个项目来使用 Spring DM 进行集成测试。
为什么是集成测试?因为使用 Spring DM,这是一个非常简单快速的过程,也是了解 OSGi(尤其是模块化方面)的非常有效的方法。

未来会有更多截屏视频——只需告诉我们你想看什么,根据请求数量,我们将相应地安排它们。

事不宜迟,“使用 Spring DM 进行 OSGi 集成测试

 

领域对象依赖注入功能的新改进

工程 | Ramnivas Laddad | 2008 年 1 月 24 日 | ...

Spring 的依赖注入(DI)机制允许配置应用程序上下文中定义的 Bean。如果你想将同样的想法扩展到非 Bean 对象怎么办?Spring 对领域对象 DI 的支持利用 AspectJ 织入将 DI 扩展到任何对象,即使该对象是由 Web 或 ORM 框架创建的。这使得创建具有丰富领域行为的对象成为可能,因为领域对象现在可以与注入的对象协作。在这篇博客中,我将讨论 Spring 框架在此领域的最新改进。

领域对象 DI 背后的核心思想非常简单:AspectJ 织入的切面选择与符合特定规范的任何对象的创建反序列化对应的连接点。对这些连接点的增强向正在创建或反序列化的对象注入依赖。当然,细节决定成败。例如,如何选择与反序列化对应的连接点,或者如何对每个对象仅注入一次依赖?通过提供一些预先编写的……

Spring 在技能需求方面超越 EJB

工程 | Rod Johnson | 2008 年 1 月 24 日 | ...

招聘信息是衡量技术实际采用情况的良好指标。它们表明公司是否正在投入资金,从而能够区分实质与炒作;它们表明开发者获取和提升相关技能的重要性(这是技术持续发展的重要因素);并且它们为公司采用特定技术的安全性提供了很好的指导。

因此,Indeed.com(一个招聘信息聚合网站)的jobtrends 网站是一个重要的资源。它允许跟踪招聘需求数量随时间变化的趋势,并且……

Spring Integration 1.0 里程碑版本 1 发布

发布 | Mark Fisher | 2008 年 1 月 24 日 | ...

亲爱的 Spring 社区:

我很高兴地宣布 Spring Integration 1.0.0.m1 已发布。
下载| 参考文档| JavaDoc

这是 Spring Portfolio 新增项目的第一个里程碑版本。要了解更多关于该项目及其未来发展,请访问Spring Integration 主页。在此设计和开发的重要阶段,如有疑问、反馈或报告问题,请访问 Spring Integration 论坛问题追踪器

Mark Fisher
Spring Integration 负责人

SpringSource 认证计划

工程 | Daryl Heinz | 2008 年 1 月 17 日 | ...

注意:此帖子已编辑,以反映 Spring 迁至Pivotal 的情况。关于 Spring 培训和认证的最新博客请参见此处

自六个月前我加入 SpringSource 担任培训总监以来,我一直听到一个一致的要求。基于对 Spring 技能不断增长的需求,全球的开发者和顾问正在寻求可量化的方式来展示他们的 Spring 专业知识。同样,这些需求的招聘经理也要求提供认证计划,以帮助识别和招聘具备立即可用、基础 Spring 知识的技术人员。

正如 Spring 项目团队响应开源社区的需求一样,我们也做出了回应,并高兴地宣布SpringSource 认证计划。该计划将于本月(2008 年 1 月)启动,首先推出的是 Spring Framework Professional……

获取 Spring 新闻通讯

订阅 Spring 新闻通讯,保持联系

订阅

领先一步

VMware 提供培训和认证,为你的进步注入动力。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅,为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部