跳至主要內容

Spring Batch核心组件介绍


Spring Batch核心组件介绍

每个作业Job有1个或者多个作业步Step;每个Step都有1个Tasklet;Tasklet有1个Chunk;一个Chunk中有Item Reader、Item Processor、Item Writer。

SpringBatch组件(领域对象)

  • Job: 作业。批处理中的核心概念,是Batch操作的基本单元。
  • Job Instance:作业实例。每个作业执行时,都会生成一个实例,实例会被存放在JobRepository中;如果作业失败,下次重新执行该作业的时候,会使用同一个作业实例;Job和Job Instance类似于Java类定义与Java对象之间的关系。
  • Job Parameters:作业参数。它是一组用来启动批处理任务的参数。
  • Job Execution:作业执行期。负责具体Job的执行,每次运行Job都会启动一个新的Job执行器。
  • Job Repository:作业仓库。负责存储作业执行过程中的状态数据及结果。
  • Job Launcher:作业调度器。根据给定的Job Parameters执行作业。
  • Step:作业步。Job的一个执行环节,多个或者一个Step组装成一个Job。
  • Step Execution:作业步执行器。负责具体Step的执行,每次运行Step都会启动一个新的执行器。
  • Tasklet:Step中具体执行逻辑的操作,可以重复执行,可以设置具体的同步、异步操作。
  • Execution Context:执行上下文。它是一组框架持久化与控制的key/value对,能够让开发者在Step Execution或JobExecution范畴保存需要进行持久化的状态。
  • Chunk:Item集合。
  • Item:一个Item指的是普通文件中的一行、数据库中的一行、XML文件中的一个元素。通常一个Item被映射到一个Java对象。比如数据库中人员信息表的一行对应到Java中的Person类。
  • Item Reader:step中读取数据的组件。
  • Item Processor:step中处理数据的组件。
  • Item Writer:step中输出数据的组件。
  • Step Flow:作业流。

SpringBatch组件关系图

SpringBatch组件关系图

上次编辑于:
贡献者: Neil