术语表

Spring Batch 术语表

批处理 (Batch)

一段时间内累积的业务事务集合。

批处理应用风格

一个术语,用于将批处理指定为一种独立的应用风格,类似于在线、Web 或 SOA。它包含输入、验证、信息转换为业务模型、业务处理和输出等标准要素。此外,它还需要在宏观层面进行监控。

批处理

处理一段时间(如一小时、一天、一周、一个月或一年)内累积的大量业务事务。它是一种重复且可预测的方式,将一个或一组流程应用于大量数据实体或对象,且不包含人工干预或为错误处理设置单独的人工干预部分。

批处理窗口

批处理 Job 必须完成的时间范围。这可能受到其他系统上线、其他依赖 Job 需要执行或批处理环境特有的其他因素的限制。

Step

主要的批处理任务或工作单元。它初始化业务逻辑并根据提交间隔设置和其他因素控制事务环境。

Tasklet

由应用开发者创建的一个组件,用于处理 Step 的业务逻辑。

批处理 Job 类型

Job 类型描述了 Job 在特定类型处理中的应用。常见领域包括接口处理(通常是平面文件)、表单处理(用于在线生成 PDF 或打印格式)和报表处理。

驱动查询

驱动查询识别 Job 需要完成的工作集。Job 随后将该工作分解为独立的工作单元。例如,驱动查询可能是识别所有状态为“待传输”的财务事务并将其发送到合作伙伴系统。驱动查询返回一组要处理的记录 ID。每个记录 ID 随后成为一个工作单元。驱动查询可能涉及连接(如果选择条件跨越两个或多个表)或仅涉及单个表。

Item

Item 表示待处理的最小完整数据量。简单来说,它可能是文件中的一行、数据库表中的一行或 XML 文件中的一个特定元素。

逻辑工作单元 (LUW)

批处理 Job 通过驱动查询(或其他输入源,如文件)进行迭代,以完成 Job 必须实现的整套工作。每次执行的工作迭代都是一个工作单元。

提交间隔

在单个事务中处理的一组 LUW。

分区

将一个 Job 拆分成多个线程,每个线程负责处理总数据的一个子集。执行线程可以在同一个 JVM 内,也可以跨越支持工作负载均衡的集群环境中的多个 JVM。

暂存表

用于在处理过程中存放临时数据的表。

可重启的 (Restartable)

可以再次执行并假定与初次运行时相同身份的 Job。换句话说,它具有相同的 Job 实例 ID。

可重跑的 (Rerunnable)

一个可重启且能管理其自身状态(基于先前运行的记录处理情况)的 Job。可重跑 Step 的一个例子是基于驱动查询的 Step。如果驱动查询可以被构造,使其在 Job 重启时限制已处理的行,那么它就是可重跑的。这由应用逻辑管理。通常,会在 where 语句中添加一个条件,使用类似于 and processedFlag != true 的逻辑来限制驱动查询返回的行。

重复

重复 (Repeat)

重试

重试 (Retry)

恢复 (Recover)

恢复操作以一种方式处理异常,使得重复过程能够继续。

跳过 (Skip)

跳过是一种恢复策略,常用于文件输入源,作为忽略未通过验证的错误输入记录的策略。