Spring batch学习 持久化表结构详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring batch学习 持久化表结构详解相关的知识,希望对你有一定的参考价值。
#接上一篇 这一篇讲一下持久化需要表
batch_job_execution,
batch_job_execution_context,
batch_job_execution_params,
batch_job_execution_seq,
batch_job_instance,
batch_job_seq,
batch_step_execution,
batch_step_execution_context,
batch_step_execution_seq
_seq结尾的三张表,维护batch_job_instance、batch_job_execution、batch_step_execution的sequence id。
batch_job_instance表 JOB_INSTANCE_ID:JOB ID由batch_job_seq分配 VERSION:job版本号,同一个job执行多次时使用 JOB_NAME:job名称,与spring配置一致 JOB_KEY:对job参数的MD5编码,正因为有这个字段的存在,同一个job如果第一次运行成功,第二次再运行会抛出JobInstanceAlreadyCompleteException异常。
batch_job_execution_params表:记录每个job的参数
JOB_EXECUTION_ID 由batch_job_execution_seq分配
TYPE_CD 参数类型 对应jobParameters中的参数类型
KEY_NAME 参数key值
STRING_VAL 参数值
DATE_VAL 参数值
LONG_VAL 参数值
DOUBLE_VAL 参数值
IDENTIFYING 是否mD5 trueMD5
batch_job_execution与batch_step_execution表 JOB_EXECUTION_ID:sequence id VERSION:版本 JOB_INSTANCE_ID:参照batch_job_instance中的JOB_INSTANCE_ID字段 CREATE_TIME START_TIME END_TIME STATUS:job运行的状态 EXIT_CODE:退出码 EXIT_MESSAGE LAST_UPDATED:最后一次更新时间 JOB_CONFIGURATION_LOCATION batch_step_execution 另外有 COMMIT_COUNT:提交次数 READ_COUNT:读取item数 FILTER_COUNT:被过滤的item数 WRITE_COUNT:写入itemWriter的次数 READ_SKIP_COUNT WRITE_SKIP_COUNT PROCESS_SKIP_COUNT
batch_job_execution_context与batch_step_execution_context表 保存job和step运行中的中间数据, 下次运行时可以恢复 STEP_EXECUTION_ID:step id SHORT_CONTEXT:json化的ExecutionContext,如 { "map": { "entry": { "string": "FlatFileItemReader.read.count", "int": 10 } } } SERIALIZED_CONTEXT:被序列化之后的ExecutionContext
SERIALIZED_CONTEXT:被序列化之后的ExecutionContext
大概的表结构如上。
以上是关于Spring batch学习 持久化表结构详解的主要内容,如果未能解决你的问题,请参考以下文章
“BasicBatchConfigurer”已保护访问 - Spring Batch/Spring Boot 未将数据持久化到数据库
有没有办法只为特定作业跳过 Spring Batch 的持久元数据?