Spring batch学习 持久化表结构详解(2)

 

#接上一篇 这一篇讲一下持久化需要表

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表     joninstance  = jobname+jobparameters
第一次运行会产生jobinstance和jobExcution
每次执行都生成jobExcution 在同一时刻只能有一个jobExcution执行jobinstance
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运行的状态  值来自org.springframework.batch.core.BatchStatus 
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

 

 

大概的表结构如上。

 

posted on 2017-08-21 19:27  zzz初见  阅读(2500)  评论(0编辑  收藏  举报

导航