抢占先机
VMware 提供培训和认证来加速您的进步。
了解更多今天,我们很高兴地宣布 Spring Batch 3.0 的候选版本发布。此版本的 Spring Batch 提供了我们承诺提供的对 JSR-352 的支持,以及为我们现有的 Spring Batch 社区提供的许多新功能。
此版本的主要功能包括
JSR-352 是批处理 JSR,已于去年年底发布为 1.0。由于 Spring Batch 是此 JSR 大部分编程模型的灵感来源,因此 Spring 致力于支持它。通过 3.0 版本,Spring Batch 符合 JSR-352,并通过了所有 TCK 测试。它提供了 JSR 最经生产测试的实现。
对于 Spring Batch 的用户来说,创建符合此 JSR 标准的批处理作业应该会感到非常熟悉。XML 配置和接口与现有的 Spring Batch 非常相似。以下是一个 JSR-352 批处理作业的示例
```xmlSpring Batch 对 JSR-352 的实现旨在为现有的 Spring Batch 用户提供最大的灵活性。我们允许开发人员将现有的 ItemReader、ItemProcessor、ItemWriter 等与 JSR-352 提供的配置工具结合使用。这为开发人员提供了完整的经过生产测试的组件库,用于构建强大的批处理作业。
要了解更多关于 Spring Batch 对 JSR-352 的实现的信息,请访问我们的参考文档:https://docs.springjava.cn/spring-batch/trunk/reference/html/jsr-352.html
何时使用 Spring Batch 或 Spring Integration 之间的界限通常很模糊。在许多用例中,一个比另一个更好。然而,在许多用例中,它们可以一起用于构建强大且可扩展的数据处理系统。Spring Batch Integration 提供了一系列组件,可以将 Spring Batch 和 Spring Integration 一起使用。Spring Batch Integration 提供的用例包括
这些功能使批处理超越了 JSR-352 提供的功能,并允许用户开发可扩展到单个 JVM 之外的批处理应用程序。您可以在参考文档中阅读更多关于 Spring Batch Integration 及其组件的信息:https://docs.springjava.cn/spring-batch/trunk/reference/html/springBatchIntegration.html。
我们借此机会审查了 Spring Batch 的所有第三方依赖项,并使其保持最新。作为这项工作的一部分,我们还将它们与其他 Spring 产品组合保持一致,以便在将 Spring Batch 添加到现有应用程序(或将其他项目添加到 Spring Batch 项目)时获得最简单的体验。
虽然 HSQLDB 对于许多测试场景很有用,但像 SQLite 这样的基于文件的系统也可能非常有用。在 3.0 版本中,我们为 SQLite 添加了作业存储库 DDL,以解决这些用例。
Spring Batch 的 step 作用域允许开发人员延迟对象的创建,直到执行特定 step。此功能还公开了在批处理工件中提供属性延迟绑定的能力。在 3.0 版本中,Spring Batch 引入了 Job 作用域。此作用域的工作方式与 step 作用域相同(通过代理延迟对象的创建),但它会延迟创建,直到 job 执行而不是 step 执行。这在上下文中定义多个 job 或在 step 级别的组件中发生繁重的初始化过程时很有用。您可以在参考手册中阅读更多关于 job 作用域的信息:https://docs.springjava.cn/spring-batch/trunk/reference/html/configureStep.html#job-scope。
最后,此版本是 Spring Batch 第一个从 Maven 迁移到 Gradle 作为内部构建系统的版本。此更改对使用 jar 的开发人员没有任何影响。它们仍然可以通过 Maven Central 提供给 Maven 用户。
3.0.0.RC1 代表了 Spring Batch 下一个主要里程碑的完成。它为我们的社区带来了 JSR-352 提供的标准,并为高级用户提供了大量的附加功能。我们期待您在论坛、社交媒体以及在 SpringOne2GX 上与我们进行面对面的反馈!