内容来自《Spring Batch 批处理框架》,作者:刘相。

一、spring batch 框架进行元数据管理共有六张表,三张SEQUENCE用来分配主键的,九张表分别是:

  BATCH_JOB_INSTANCE

  BATCH_JOB_EXECUTION

  BATCH_JOB_EXECUTION_PARAMS

  BATCH_STEP_EXECUTION

  BATCH_STEP_EXECUTION_CONTEXT

  BATCH_JOB_EXECUTION_CONTEXT

  BATCH_STEP_EXECUTION_SEQ

  BATCH_JOB_EXECUTION_SEQ

  BATCH_JOB_SEQ

  这几张表的建表脚本可以从框架中获取。我的在:spring-batch-core-3.0.9.RELEASE\org\springframework\batch\core\schema-oracle10g.sql。

  下面对每张表的作用做个说明:

BATCH_JOB_INSTANCE 作业实例表。用于存放Job的实例信息。
BATCH_JOB_EXECUTION 作业执行器表。用于存放当前作业的执行信息,比如创建时间。执行开始时间,执行结束时间,执行的哪个Job实例,执行状态等。
BATCH_JOB_EXECUTION_PARAMS 作业参数表。用于存放每个Job执行时候的参数信息,该参数实际上是对应Job实例的。
BATCH_STEP_EXECUTION 作业步执行器表。用于存放每个Step执行器的信息,比如作业步的开始时间、执行完成时间、执行状态、读/写次数、跳过次数等。
BATCH_STEP_EXECUTION_CONTEXT 作业步执行上下文表。用于存放每个作业步的上下文信息。
BATCH_JOB_EXECUTION_CONTEXT 作业执行上下文表。用于存放作业执行器上下文的信息。
BATCH_STEP_EXECUTION_SEQ 作业步序列表。用于给表BATCH_STEP_EXECUTION和BATCH_STEP_EXECUTION_CONTEXT提供主键。
BATCH_JOB_EXECUTION_SEQ 作业执行器序列表。用于给表BATCH_JOB_EXECUTION和BATCH_JOB_EXECUTION_CONTEXT提供主键。
BATCH_JOB_SEQ 作业序列表。用于给表BATCH_JOB_INSTANCE和BATCH_JOB_EXECUTION_PARAMS提供主键。
   

二、每个表字段说明:

  1.BATCH_JOB_INSTANCE

    1.1 建表SQL:

CREATE TABLE BATCH_JOB_INSTANCE  (
JOB_INSTANCE_ID NUMBER(19,0) NOT NULL PRIMARY KEY ,
VERSION NUMBER(19,0) ,
JOB_NAME VARCHAR2(100) NOT NULL,
JOB_KEY VARCHAR2(32) NOT NULL,
constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
) ;

    1.2 字段说明:

      JOB_INSTANCE_ID :主键。作业实例ID编号,根据BATCH_JOB_SEQ自动生成。

      VERSION :版本号。

      JOB_NAME :作业名称。即在配置文件中定义的 job id 字段的内容。

      JOB_KEY :作业标识。根据作业参数序列化生成的标识。需要注意通过 JOB_NAME +JOB_KEY  能够唯一区分一个作业实例。如果是同一个Job,则JOB KEY一定不能相通,即作业参数不能相同。如果不是同一个JOB则KEY可以相同,也就说可以是同一个作业参数。

  2.BATCH_JOB_EXECUTION

    2.1 建表SQL:

CREATE TABLE BATCH_JOB_EXECUTION  (
JOB_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY ,
VERSION NUMBER(19,0) ,
JOB_INSTANCE_ID NUMBER(19,0) NOT NULL,
CREATE_TIME TIMESTAMP NOT NULL,
START_TIME TIMESTAMP DEFAULT NULL ,
END_TIME TIMESTAMP DEFAULT NULL ,
STATUS VARCHAR2(10) ,
EXIT_CODE VARCHAR2(2500) ,
EXIT_MESSAGE VARCHAR2(2500) ,
LAST_UPDATED TIMESTAMP,
JOB_CONFIGURATION_LOCATION VARCHAR(2500) NULL,
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
) ;

    2.2 字段说明:

      JOB_EXECUTION_ID :主键。作业执行器ID编号。

      VERSION :版本号。

      JOB_INSTANCE_ID :作业实例ID编号。

      CREATE_TIME :作业执行器创建时间。

      START_TIME :作业执行器开始执行时间。

      END_TIME :作业执行器结束时间。

      STATUS :作业执行器的状态。如:COMPLETED,STARTING,STARTED,STOPPING,STOPTED,FAILED,ABANDED,UNKNOWN。这些状态在类org.springframework.batch.core.ExitStatus中。

      EXIT_CODE :作业执行器退出编码。如:UNKNOWN,EXEXCUTION,COMPLETED,NOOP,FAILED,STOPPED。这些状态在类org.springframework.batch.core.ExitStatus中定义的。

      EXIT_MESSAGE :作业执行器退出描述,详细描述退出的信息,如果发生异常,通常包含异常的堆栈信息。

      LAST_UPDATED :本条记录上次更新时间。

      JOB_CONFIGURATION_LOCATION :Job本地配置信息。

  3.BATCH_JOB_EXECUTION_PARAMS

    3.1 建表SQL:

CREATE TABLE BATCH_JOB_EXECUTION_PARAMS  (
JOB_EXECUTION_ID NUMBER(19,0) NOT NULL ,
TYPE_CD VARCHAR2(6) NOT NULL ,
KEY_NAME VARCHAR2(100) NOT NULL ,
STRING_VAL VARCHAR2(250) ,
DATE_VAL TIMESTAMP DEFAULT NULL ,
LONG_VAL NUMBER(19,0) ,
DOUBLE_VAL NUMBER ,
IDENTIFYING CHAR(1) NOT NULL ,
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ;

    3.2 字段说明:

      JOB_EXECUTION_ID:外键,作业执行器ID编号。一个作业实例可能会有多行参数记录,主要根据参数的个数决定的。

      TYPE_CD :参数类型,可能是如下四种当中的一种:date、string、long、double。

      KEY_NAME :参数的名字。

      STRING_VAL :如果参数是String类型此处存放是String类型的参数值。

      DATE_VAL :如果参数是date类型,此处存放的是date类型的参数值。

      LONG_VAL :如果参数是long类型,此处存放是long类型的参数值。

      DOUBLE_VAL :如果参数是double类型,则此处存放double类型的参数值。

      IDENTIFYING :用于标识作业参数是否标识作业实例。

  4.BATCH_STEP_EXECUTION

    4.1 建表SQL:

CREATE TABLE BATCH_STEP_EXECUTION  (
STEP_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY ,
VERSION NUMBER(19,0) NOT NULL,
STEP_NAME VARCHAR2(100) NOT NULL,
JOB_EXECUTION_ID NUMBER(19,0) NOT NULL,
START_TIME TIMESTAMP NOT NULL ,
END_TIME TIMESTAMP DEFAULT NULL ,
STATUS VARCHAR2(10) ,
COMMIT_COUNT NUMBER(19,0) ,
READ_COUNT NUMBER(19,0) ,
FILTER_COUNT NUMBER(19,0) ,
WRITE_COUNT NUMBER(19,0) ,
READ_SKIP_COUNT NUMBER(19,0) ,
WRITE_SKIP_COUNT NUMBER(19,0) ,
PROCESS_SKIP_COUNT NUMBER(19,0) ,
ROLLBACK_COUNT NUMBER(19,0) ,
EXIT_CODE VARCHAR2(2500) ,
EXIT_MESSAGE VARCHAR2(2500) ,
LAST_UPDATED TIMESTAMP,
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ;

    4.2 字段说明:

      STEP_EXECUTION_ID :主键,作业步实例ID编号。

      VERSION :版本。

      STEP_NAME :操作步的名字。

      JOB_EXECUTION_ID :外键。操作执行器ID。

      START_TIME :操作步执行器开始执行时间。

      END_TIME :操作步执行器结束时间。

      STATUS :操作步执行器执行状态,如:COMPLETED,STARTING,STARTED,STOPPING,STOPPED,FAILED,ABANDED,UNKNOWN。这些状态在类:org.springframework.batch.core.ExitStatus中。

      COMMIT_COUNT :事务提交次数。

      READ_COUNT :读数据的次数。

      FILTER_COUNT :过滤掉的数据次数。

      WRITE_COUNT :写数据的次数。

      READ_SKIP_COUNT :读数据跳过的次数。

      WRITE_SKIP_COUNT :写数据跳过的次数。

      PROCESS_SKIP_COUNT :处理数据跳过的次数。

      ROLLBACK_COUNT :事务回滚次数。

      EXIT_CODE :操作步执行器的退出编码。如:UNKNOWN,EXEXCUTION,COMPLETED,NOOP,FAILED,STOPPED。这些状态在类org.springframework.batch.core.ExitStatus中定义的。

      EXIT_MESSAGE :操作步执行器退出描述,详细描述退出的信息。如异常的堆栈信息等。

      LAST_UPDATED :本条记录上次更新时间。

  5.BATCH_STEP_EXECUTION_CONTEXT

    5.1 建表SQL:

CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT  (
STEP_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR2(2500) NOT NULL,
SERIALIZED_CONTEXT CLOB ,
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
) ;

    5.2 字段说明:

      STEP_EXECUTION_ID :外键。操作步执行器ID编号。

      SHORT_CONTEXT :作业执行器上下文字符串格式。

      SERIALIZED_CONTEXT :序列化的作业执行器上下文。

  6.BATCH_JOB_EXECUTION_CONTEXT

    6.1 建表SQL:

CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT  (
JOB_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR2(2500) NOT NULL,
SERIALIZED_CONTEXT CLOB ,
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ;

    6.2 字段说明:

      JOB_EXECUTION_ID :外键。作业执行器ID编号。

      SHORT_CONTEXT :作业执行器上下文字符串格式。

      SERIALIZED_CONTEXT :序列化的作业执行器上下文。

  

spring batch (二) 元数据表的更多相关文章

  1. spring batch(二):核心部分(1):配置Spring batch

    spring batch(二):核心部分(1):配置Spring batch 博客分类: Spring 经验 java   chapter 3.Batch configuration 1.spring ...

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

    #接上一篇 这一篇讲一下持久化需要表 batch_job_execution, batch_job_execution_context, batch_job_execution_params, bat ...

  3. spring batch(一):基础部分

    spring batch(一):基础部分 博客分类: Spring java   spring batch 官网: http://www.springsource.org/spring-batch 下 ...

  4. Spring Batch(4): Job具体解释

    第四章 配置作业Job 4.1 基本配置 Job的配置有3个必须的属性.name,jobRepository,steps.一个简单的Job配置例如以下: <job id="footba ...

  5. Spring Batch(4): Job详解

    Spring Batch(4): Job详解 2016-03-26 18:46 870人阅读 评论(1) 收藏 举报  分类: Spring(6)  版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  6. Spring Batch事务处理

    事务模型描述 1.step之间事务独立 2.step划分成多个chunk执行,chunk事务彼此独立,互不影响:chunk开始开启一个事务,正常结束提交.chunk表示给定数量的item的操作集合,主 ...

  7. PowerDesigner建模应用(二)逆向工程,导出PDM文件前过滤元数据(表、视图、存储过程等)

    在上一篇文章<PowerDesigner建模应用(一)逆向工程,配置数据源并导出PDM文件>步骤二中导出了目标数据库对应的PDM文件, 该文件中展示出了所有表的信息与关系. 某些业务场景下 ...

  8. 陪你解读Spring Batch(二)带你入手Spring Batch

    前言 说得多不如show code.上一章简单介绍了一下Spring Batch.本章将从头到尾搭建一套基于Spring Batch(2.1.9).Spring(3.0.5).mybatis(3.4. ...

  9. Spring Batch学习笔记二

    此系列博客皆为学习Spring Batch时的一些笔记: Spring Batch的架构 一个Batch Job是指一系列有序的Step的集合,它们作为预定义流程的一部分而被执行: Step代表一个自 ...

随机推荐

  1. pta编程总结2

    7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简 ...

  2. 连接慢的主要原因是DNS解析导致

    连接慢的主要原因是DNS解析导致解决方法: 1.在ssh服务端上更改/etc/ssh/sshd_config文件中的配置为如下内容:UseDNS no# GSSAPI optionsGSSAPIAut ...

  3. Dapper结合Repository模式的应用

    Dapper结合Repository模式的应用,包括如何在数据访问层(DAL)使用Dapper组件. Dapper在真实项目中使用,扩展IDbConnection的功能,支持Oracle.MS SQL ...

  4. 工作笔记——使用Jest时遇到的一些问题

    最近公司想要从mocha+karma的前端单元测试方式转换到Jest,然后任务就分配给我了,好吧,在这之前连单元测试是什么都不知道.硬生生的开始写单元测试了,写这篇文章的初衷是因为在配置Jest的过程 ...

  5. javascript事件之调整大小(resize)事件

    当浏览器窗口被调整到一个新的高度或宽度时,就会触发resize事件. var EventUtil = { addHandler: function (element, type, handler) { ...

  6. git 中文文档 及测试命令

    git 使用官方中文文档 https://git-scm.com/book/zh/v2/ 或者你在github上只填写一个仓库名称点击创建后会跳转一个页面给出参考命令如下 echo "# w ...

  7. 封装的head

    //获取浏览器和版本号var userAgent=window.navigator.userAgent, rMsie=/(msie\s|trident.*rv:)([\w.]+)/, rFirefox ...

  8. 【欧拉回路+最小生成树】SD开车@山东2018省队一轮集训day1

    目录 [欧拉回路+最小生成树]SD开车@山东2018省队一轮集训day1 PROBLEM 题目描述 输入 输出 样例输入 样例输出 提示 SOLUTION CODE [欧拉回路+最小生成树]SD开车@ ...

  9. sqlite3使用总结(转并且修改)

    此文来自http://blog.csdn.net/shengfang666/article/details/7937200,我在这儿重新发一下,备份参考. 前序:一.       版本二.       ...

  10. Wireshark简单使用教程3——附视频

    视频https://www.bilibili.com/video/av35763613?from=search&seid=10176480091153063668 目录 抓取干净流量包的用处所 ...