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

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":
}
}
}
SERIALIZED_CONTEXT:被序列化之后的ExecutionContext

SERIALIZED_CONTEXT:被序列化之后的ExecutionContext

大概的表结构如上。

Spring batch学习 持久化表结构详解(2)的更多相关文章

  1. Apache activiti5.13工作流框架的表结构详解

    1.结构设计 1.1.    逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: ’RE’表示repository(存储),RepositoryService接口所操作的 ...

  2. -ROOT-表和.META.表结构详解

    在<HBase技术简介>中我们知道,HBase中有两个特殊的表:-ROOT-和.META.. 由于HBase中的表可能非常大,故HBase会将表按行分成多个region,然后分配到多台Re ...

  3. Mysql修改表结构详解

    添加字段: alter table `user_movement_log`Add column GatewayId int not null default 0 AFTER `Regionid` (在 ...

  4. ORACLE结构体系篇之表空间详解.md

    表空间详解一.系统表空间SYSTEM 表空间是Oracle 数据库最重要的一个表空间,存放了一些DDL 语言产生的信息以及PL/SQL 包.视图.函数.过程等,称之为数据字典,因此该表空间也具有其特殊 ...

  5. Nuxt.js学习(二) --- Nuxt目录结构详解、Nuxt常用配置项、Nuxt路由配置和参数传递

    [TOC] 1.Nuxt目录结构详解 Nuxt项目文件目录结构 |-- .nuxt // Nuxt自动生成,临时的用于编辑的文件,build |-- assets // 用于组织未编译的静态资源入LE ...

  6. [转帖]Windows注册表内容详解

    Windows注册表内容详解 来源:http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html 对 windows注册表一知半解 不是很清晰 这里学习一下 ...

  7. 【Spring】——声明式事务配置详解

    项目中用到了spring的事务: @Transactional(rollbackFor = Exception.class, transactionManager = "zebraTrans ...

  8. Activiti工作流学习之流程图应用详解

    Activiti工作流学习之流程图应用详解 1.目的  了解Activiti工作流是怎样应用流程图的. 2.环境准备2.1.相关软件及版本    jdk版本:Jdk1.7及以上 IDE:eclipse ...

  9. 2017.2.13 开涛shiro教程-第十二章-与Spring集成(一)配置文件详解

    原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第十二章-与Spring集成(一)配置文件详解 1.pom.xml ...

随机推荐

  1. platforms

    1.Qt551x86_vs2013 所有的 platforms文件夹 的路径: 1.1.E:\ZC_ProgramFiles_161104\Qt551_vs2013\5.5\msvc2013\plug ...

  2. Manacher练习

    看这篇博客学了下Manacher, 讲的很好, 但他的板子写错了.. https://www.cnblogs.com/Lyush/p/3221503.html 练习1 hdu 3068最长回文 板子题 ...

  3. js将 HTML 页面生成 PDF 并下载

    最近碰到个需求,需要把当前页面生成 pdf,并下载.弄了几天,自己整理整理,记录下来,我觉得应该会有人需要 :) 先来科普两个插件: html2Canvas 简介 我们可以直接在浏览器端使用html2 ...

  4. db2时间函数

    获取当前日期: select current date from sysibm.sysdummy1; values current date; --获取当前时间 select current time ...

  5. iOS笔记之网络

    用POST方式上传数据时,数组怎么处理? NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:data ...

  6. java基础第7天

    Javabean的特点 私人成员变量 公共的成员方法 利用get/set成员方法对私人变量进行取值/赋值 构造方法(构造器) 构造方法(也叫构造器)是一种特殊的方法,定义的位置是在类中,成员方法外,和 ...

  7. Nginx安装配置详解

    http://nginx.org/download/ 下载对应的Nginx 安装nginx之前需要安装依赖包 yum install gcc gcc-c++ zlib-devel pcre-devel ...

  8. OMAP4之DSP核(Tesla)软件开发学习(四)ARM核与DSP核通讯示例

    首先,安卓系统完全启动4AJ.2.1. 其次,查看OMAP4的Tesla相关信息,检查Tesla是否使能.(有如下显示,则OK) cat /d/emoteproc/omap-rproc.0/versi ...

  9. react中map循环中key取值问题

    数组中没有唯一的key,可以定义变量,拼接字符串连接. let i = 0; key={`infoItem-col-${i++}`}

  10. Roofline Model与深度学习模型的性能分析

    原文链接: https://zhuanlan.zhihu.com/p/34204282 最近在不同的计算平台上验证几种经典深度学习模型的训练和预测性能时,经常遇到模型的实际测试性能表现和自己计算出的复 ...