领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多今天,我们很高兴地宣布 Spring Batch 3.0 的最终里程碑版本发布(下载)。此版本展示了我们对 JSR-352 的支持,目前支持其所有必需的功能。我们还为现有 Spring Batch 用户添加了许多新功能。Spring Batch 是一个轻量级、全面的框架,用于开发健壮的批处理应用程序。
作为 Spring Batch 3.0.0 版本的最终里程碑版本,此版本的全部主要功能已完成。此版本的主要功能包括:
Spring 已投入大量时间和资源来为该规范做出贡献。我们通过 JCP 与其他行业专家(JSR-352)的合作证明,Spring Batch 在过去六年中在无数生产环境中实施和测试的批处理模式是构建企业级关键任务批处理应用程序的最佳方法。
3.0.0.M3 是第一个符合 JSR-352 的 Spring Batch 版本,因为它通过了所有 152 个 SE TCK 测试。Spring Batch 对 JSR-352 的实现允许用户使用熟悉的 Spring Batch 组件,同时仍然保持与 Java 标准的兼容性。Spring Batch 支持通过基于 JSR-352 的 XML 配置作业,使用 JSR 中定义的注入方法注入针对 javax.batch.* 接口开发的批处理构件(Spring 的依赖注入、batch.xml 和内联配置),以及 JSR-352 中提供的所有可扩展性选项(通过线程进行拆分和分区)。
我们对实现的目标很简单:遵循 JSR 的规则,而不会违反 Spring Batch 已定义的规则。换句话说,在不影响现有 Spring Batch 用户的情况下实现规范。我们通过提供两种实现批处理作业的“路径”来做到这一点。第一种是传统的 Spring Batch 方法。使用 Spring Batch XML 或 Spring 的 Java 配置,针对 Spring Batch 接口进行开发,等等。这不会在 3.0 版本中更改。第二种“路径”是 JSR 路径。这种开发方法使用 JSR-352 定义的 XML 模式来配置作业,使用 JSR 的 `JobOperator` 来启动作业和管理元数据,开发人员针对 JSR 的 API 编写代码。需要注意的是,这是两条截然不同的路径。虽然使用 Spring Batch 组件可以与基于 JSR-352 的作业一起使用,但它们在这些上下文中的使用将由 JSR 的规则决定。一个例子是在 JSR-352 中定义的上下文(`StepContext` 和 `JobContext`)的注入。如果使用传统的 Spring Batch 方法配置作业并通过常规 Spring Batch 组件启动作业,则批处理构件将无法使用这些上下文。但是,如果通过 JSR-352 XML 配置作业并通过 JSR-352 `JobOperator` 启动作业,则会在适当的地方注入这些上下文。
重要的是要指出,Spring Batch 不仅仅是实现 JSR-352。它在许多方面都远远超出了规范。
Spring 将继续参与 JSR-352 的演变,因为它将经历维护修订,并期待对 JCP 过程的进一步贡献。
Spring Batch 集成是 Spring Batch Admin 的一个鲜为人知的子项目,已经存在几年了。但是,鉴于该库提供的功能多么强大以及它在企业开发中的实用性,我们决定将其从 Spring Batch Admin 的保护伞下移到 Spring Batch 的保护伞下。Spring Batch 集成旨在提供连接批处理和集成处理的有用组件,它为启动和扩展批处理应用程序提供了许多选项。功能包括:
这些组件使 Spring Batch 应用程序能够在许多企业中无缝集成和扩展。
作为我们努力保持依赖项更新的一部分,我们已经更新了 Spring Batch 及其各种模块以支持 Spring 4。由于这些更新,Spring 4 将成为 Spring Batch 3.0.0.M3 的最低支持版本。这不仅带来了 Spring 4 中众多新功能,还提供了立即在 Java 8 上运行的能力。
除了上述大型新功能外,我们还添加了一些较小的功能并继续修复错误。我们添加的新功能包括添加 `JobScope` 和对 SQLite 的支持。
还剩下什么?随着我们接近发布候选版本,仍然有一些小的工作要做。我们仍在仔细研究 Spring Batch 的依赖项,并努力尽可能多地升级。
3.0.0.M3 标志着 Spring Batch 的一个关键里程碑。它允许开发人员测试基于 JSR-352 的功能,同时仍然拥有 Spring 和 Spring Batch 的基础。它还为框架带来了新功能。我们期待您在论坛、社交媒体和亲自发表您的评论和反馈!