Spring Batch 批处理数据表

目录

引言

概述

batch_job_instance表

batch_job_execution表

batch_job_execution_context表

batch_job_execution_params表

btch_step_execution表

batch_step_execution_context表

H2内存数据库

转视频版


引言

接着上篇:Spring Batch 步骤对象-返回状态-ExitStatus,了解返回状态ExitStatus状态类后,接下来一起学习一下Spring Batch 批处理核心的数据表

概述

学习阶段,Spring Batch数据存储可以采用2种方式,1:H2内存数据库 2:关系型数据库。选择1这个好说,基本上不需要我们做过多干预,选择2也一样,但是我们可以借助数据库的可视化工具来查看数据表,帮助我们更好的了解springbatch执行流程或原理。

当我们选择数据库方式存储批处理数据,Spring Batch 在启动时会自动创建9张表,分别存储: JobExecution、JobContext、JobParameters、JobInstance、JobExecution id序列、Job id序列、StepExecution、StepContext/ChunkContext、StepExecution id序列 等对象。Spring Batch 提供 JobRepository 组件来实现这些表的CRUD操作,并且这些操作基本上封装在步骤,块,作业api操作中,并不需要我们太多干预,所以这章内容了解即可。

batch_job_instance表

 当作业第一次执行时,会根据作业名,标识参数生成一个唯一JobInstance对象,batch_job_instance表会记录一条信息代表这个作业实例。

字段 描述
JOB_INSTANCE_ID 作业实例主键
VERSION 乐观锁控制的版本号
JOB_NAME 作业名称
JOB_KEY 作业名与标识性参数的哈希值,能唯一标识一个job实例

batch_job_execution表

每次启动作业时,都会创建一个JobExecution对象,代表一次作业执行,该对象记录存放于batch_job_execution 表。

字段 描述
JOB_EXECUTION_ID job执行对象主键
VERSION 乐观锁控制的版本号
JOB_INSTANCE_ID JobInstanceId(归属于哪个JobInstance)
CREATE_TIME 记录创建时间
START_TIME 作业执行开始时间
END_TIME 作业执行结束时间
STATUS 作业执行的批处理状态
EXIT_CODE 作业执行的退出码
EXIT_MESSAGE 作业执行的退出信息
LAST_UPDATED 最后一次更新记录的时间

batch_job_execution_context表

batch_job_execution_context用于保存JobContext对应的ExecutionContext对象数据。

字段 描述
JOB_EXECUTION_ID job执行对象主键
SHORT_CONTEXT ExecutionContext系列化后字符串缩减版
SERIALIZED_CONTEXT ExecutionContext系列化后字符串

batch_job_execution_params表

作业启动时使用标识性参数保存的位置:batch_job_execution_params, 一个参数一个记录

 

字段 描述
JOB_EXECUTION_ID job执行对象主键
TYPE_CODE 标记参数类型
KEY_NAME 参数名
STRING_VALUE 当参数类型为String时有值
DATE_VALUE 当参数类型为Date时有值
LONG_VAL 当参数类型为LONG时有值
DOUBLE_VAL 当参数类型为DOUBLE时有值
IDENTIFYING 用于标记该参数是否为标识性参数

btch_step_execution表

作业启动,执行步骤,每个步骤执行信息保存在tch_step_execution表中

 

字段 描述
STEP_EXECUTION_ID 步骤执行对象id
VERSION 乐观锁控制版本号
STEP_NAME 步骤名称
JOB_EXECUTION_ID 作业执行对象id
START_TIME 步骤执行的开始时间
END_TIME 步骤执行的结束时间
STATUS 步骤批处理状态
COMMIT_COUNT 在步骤执行中提交的事务次数
READ_COUNT 读入的条目数量
FILTER_COUNT 由于ItemProcessor返回null而过滤掉的条目数
WRITE_COUNT 写入条目数量
READ_SKIP_COUNT 由于ItemReader中抛出异常而跳过的条目数量
PROCESS_SKIP_COUNT 由于ItemProcessor中抛出异常而跳过的条目数量
WRITE_SKIP_COUNT 由于ItemWriter中抛出异常而跳过的条目数量
ROLLBACK_COUNT 在步骤执行中被回滚的事务数量
EXIT_CODE 步骤的退出码
EXT_MESSAGE 步骤执行返回的信息
LAST_UPDATE 最后一次更新记录时间

batch_step_execution_context表

StepContext对象对应的ExecutionContext 保存的数据表:batch_step_execution_context

字段 描述
STEP_EXECUTION_ID 步骤执行对象id
SHORT_CONTEXT ExecutionContext系列化后字符串缩减版
SERIALIZED_CONTEXT ExecutionContext系列化后字符串

H2内存数据库

 作业的运行指的是对作业的控制,包括作业启动,作业停止,作业异常处理,作业重启处理等。

到这,本篇就结束了,欲知后事如何,请听下回分解~

转视频版

看文字不过瘾可以切换视频版:Spring Batch高效批处理框架实战

 

猜你喜欢

转载自blog.csdn.net/langfeiyes/article/details/128880267