2. Spring Batch 3.0 的新功能

Spring Batch 3.0 版本有五个主要主题:

  • JSR-352 支持

  • 升级到支持 Spring 4 和 Java 8

  • 将 Spring Batch Integration 提升为 Spring Batch

  • JobScope 支持

  • SQLite 支持

2.1 JSR-352 支持

JSR-352 是批处理的新 Java 规范。受 Spring Batch 的启发,这个规范提供了类似 Spring Batch 已经支持的功能。但是,Spring Batch 3.0 已实现规范,现在支持符合标准的批处理作业的定义。使用 JSR-352 的 Job 规范语言(JSL)配置的批处理 job 的示例如下所示:

<?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 支持节。

2.2 将 Spring Batch Integration 提升为 Spring Batch

Spring Batch Integration 现在已经成为 Spring Batch Admin 项目的子模块已有几年了。它提供了将 Spring Integration 中提供的功能与 Spring Batch 更好地集成的功能。具体功能包括:

  • 通过消息启动作业

  • 异步ItemProcessors

  • 提供信息消息的反馈

  • 通过 remote 分区和 remote chunking 外部化批处理 process 执行

有关详细信息,请参阅第Spring Batch Integration节。

2.3 升级到支持 Spring 4 和 Java 8

随着 Spring Batch Integration 的推广成为 Spring Batch 项目的一个模块,它已经更新为使用 Spring Integration 4.Spring Integration 4 将核心消息传递 API 移动到 Spring 核心。因此,Spring Batch 3 现在需要 Spring 4 或更高版本。

作为此主要版本发生的依赖项更新的一部分,Spring Batch 现在支持在 Java 8 上运行 run。它仍将在 Java 6 或更高版本上执行。

2.4 JobScope 支持

Spring Batch 中使用的 Spring 范围“step”在批处理应用程序中起了关键作用,现在为 long time 提供了晚 binding 功能。随着 3.0 发布 Spring Batch 现在支持“job”范围。这个新范围允许延迟构建 object,直到实际启动 Job,并为每次执行 job 提供新实例的工具。您可以在第 5.4.2 节,“作业范围”部分中阅读有关此新 bean 范围的详细信息。

2.5 SQLite 支持

通过为 SQLite 添加 job repository ddl,SQLite 已添加为JobRepository的新支持的数据库选项。这为测试目的提供了有用的基于文件的数据 store。

Updated at: 9 months ago
1.5. 批处理策略Table of content3. 批处理的 Domain 语言