On this page
2. Spring Batch 3.0 的新功能
Spring Batch 3.0 版本具有五个主要主题:
JSR-352 Support
升级以支持 Spring 4 和 Java 8
将 Spring Batch 集成到 Spring Batch
JobScope Support
SQLite Support
2.1 JSR-352 支持
JSR-352 是用于批处理的新 Java 规范。受 Spring Batch 的启发,此规范提供了与 Spring Batch 已支持的功能类似的功能。但是,Spring Batch 3.0 已经实现了该规范,并且现在支持符合该标准的批处理作业的定义。使用 JSR-352 的作业规范语言(JSL)配置的批处理作业示例如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<job id="myJob3" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0">
<step id="step1" >
<batchlet ref="testBatchlet" />
</step>
</job>
有关更多详细信息,请参见第JSR-352 Support节。
2.2 将 Spring Batch 集成到 Spring Batch
数年来,Spring Batch 集成一直是 Spring Batch AdminItem 的子模块。它提供的功能可以更好地集成 Spring Integration 和 Spring Batch 中提供的功能。具体功能包括:
通过消息启动作业
异步
ItemProcessors
提供信息消息反馈
通过远程分区和远程组块外部化批处理执行
有关详细信息,请参见第Spring 批处理集成节。
2.3 升级以支持 Spring 4 和 Java 8
随着将 Spring Batch Integration 提升为 Spring BatchItem 的模块,已对其进行了更新以使用 Spring Integration4.SpringIntegration 4 将核心消息传递 API 移至了 Spring 核心。因此,Spring Batch 3 现在将需要 Spring 4 或更高版本。
作为此主要版本中发生的依赖关系更新的一部分,Spring Batch 现在支持在 Java 8 上运行。它仍将在 Java 6 或更高版本上执行。
2.4 JobScope 支持
Spring Batch 中使用的 Spring 作用域“步骤”在批处理应用程序中起着举足轻重的作用,长期以来提供后期绑定功能。在 3.0 版本中,Spring Batch 现在支持“作业”范围。这个新范围允许延迟构造对象,直到实际启动 Job 为止,并为每次执行 Job 的新实例提供便利。您可以在第 5.4.2 节“工作范围”部分中阅读有关此新 bean 范围的详细信息。
2.5 SQLite 支持
通过为 SQLite 添加作业存储库 ddl,已为JobRepository
添加了 SQLite 作为新支持的数据库选项。这提供了一个有用的,基于文件的数据存储以用于测试。