Spring Batch 3.0.0.RC1 现已发布

发布 | Michael Minella | 2014 年 5 月 13 日 | ...

今天,我们很高兴地宣布 Spring Batch 3.0 的发布候选版本。此版本的 Spring Batch 提供了我们承诺支持的 JSR-352,以及为我们现有的 Spring Batch 社区提供的一系列新功能。

发布候选版本 1 的功能

此版本的主要功能包括

  • JSR-352 支持
  • 将 Spring Batch Integration 合并到 Spring Batch 中
  • 彻底重构依赖项
  • 支持 SQLite
  • Job 作用域
  • 将构建 Spring Batch 的工具从 Maven 切换到 Gradle

JSR-352 支持

JSR-352 是批处理 JSR,已于去年年底发布 1.0 版本。由于 Spring Batch 是该 JSR 编程模型的灵感来源,Spring 致力于支持它。通过 3.0 版本,Spring Batch 符合 JSR-352 标准,并通过了所有 TCK 测试。它提供了生产环境中测试最充分的 JSR 实现。

创建符合此 JSR 标准的批处理作业,对于 Spring Batch 用户来说应该非常熟悉。XML 配置和接口与现有的 Spring Batch 非常相似。以下是一个 JSR-352 批处理作业的示例

```xml ```

Spring Batch 对 JSR-352 的实现旨在为现有 Spring Batch 用户提供最大的灵活性。我们允许开发人员使用现有的 ItemReader、ItemProcessor、ItemWriters 等,并结合 JSR-352 提供的配置功能。这为开发人员提供了完整的生产环境中测试过的组件库,用于构建健壮的批处理作业。

要阅读更多关于 Spring Batch 对 JSR-352 的实现的信息,请访问我们的参考文档:https://docs.springframework.org.cn/spring-batch/trunk/reference/html/jsr-352.html

将 Spring Batch Integration 提升到 Spring Batch 名下

Spring Batch 和 Spring Integration 之间的界限往往很模糊。有许多用例一个比另一个更适合。然而,也有许多用例可以一起使用来构建健壮且可扩展的数据处理系统。Spring Batch Integration 提供了一系列组件,用于将 Spring Batch 和 Spring Integration 一起使用。Spring Batch Integration 提供的用例包括

  • 异步项处理
  • 远程分块
  • 通过消息启动批处理作业
  • 远程分区

这些功能将批处理提升到 JSR-352 所能提供的范围之外,并允许用户开发可扩展到单个 JVM 之外的批处理应用程序。您可以在参考文档中阅读更多关于 Spring Batch Integration 及其组件的信息:https://docs.springframework.org.cn/spring-batch/trunk/reference/html/springBatchIntegration.html

彻底重构依赖项

我们借此机会审查了 Spring Batch 的所有第三方依赖项,并将其更新到最新版本。作为此项工作的一部分,我们还将其与其他 Spring 项目保持一致,以便在将 Spring Batch 添加到现有应用程序(或将其他项目添加到 Spring Batch 项目)时获得最简单的体验。

支持 SQLite

虽然 HSQLDB 在许多测试场景中很有用,但像 SQLite 这样的文件系统也可以非常有用。通过 3.0 版本,我们增加了 SQLite 的作业仓库 DDL,以满足这些用例。

Job 作用域

Spring Batch 的 step 作用域允许开发人员延迟对象的创建,直到执行特定的步骤。此功能还暴露了为批处理伪指令提供后期绑定的能力。通过此 3.0 版本,Spring Batch 引入了 Job 作用域。此作用域的工作方式与 step 作用域相同(通过代理延迟对象的创建),但是它会将创建延迟到作业执行时,而不是步骤执行时。当在一个上下文中定义多个作业时,或者当在步骤级组件中发生重量级初始化过程时,这可能会很有帮助。您可以在参考手册中阅读更多关于 Job 作用域的信息:https://docs.springframework.org.cn/spring-batch/trunk/reference/html/configureStep.html#job-scope

从 Maven 迁移到 Gradle

最后,这是 Spring Batch 首次将其内部构建系统从 Maven 迁移到 Gradle。此更改对消费 jar 的开发人员没有任何影响。Maven 用户仍然可以通过 Maven Central 获得它们。

结论

3.0.0.RC1 代表了 Spring Batch 下一个主要里程碑的完成。它为我们的社区带来了 JSR-352 提供的标准,并为高级用户提供了全面的附加功能集合。我们期待在论坛、社交媒体以及在 SpringOne2GX 上与您见面交流!

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有