SpringBatch
文章平均质量分 71
王学政
这个作者很懒,什么都没留下…
展开
-
SpringBatch简介
批处理工作在面对复杂的业务以及海量的数据处理时,无需人工干预,仅需定期读入批量数据,然后完成相应业务处理并进行归档操作。典型的批处理应用有如下几个特点:1、自动执行,根据系统设定的工作步骤自动完成。 2、数据量大,少则百万,多则千万甚至上亿。 3、定时执行,如每天执行、每周或每月执行。批处理的整个流程可以明显的分为3个阶段:1、读数据,数据可能来自文件、数据库或消息队列等。 2、处理数据,处理原创 2016-12-07 11:24:04 · 1863 阅读 · 0 评论 -
SpringBatch基本概念
SpringBatch批处理框架架构每个作业Job有1个或者多个作业步Step; 每个Step对应一个ItemReader、ItemProcessor、ItemWriter; 通过JobLauncher可以启动Job,启动Job时需要从JobRepository获取存在的JobExecution; 当前运行的Job及Step的结果及状态会保存在JobRepository中SpringBatch原创 2016-12-27 11:48:05 · 2449 阅读 · 0 评论 -
SpringBatch 简单示例
场景说明个人使用信用卡消费,银行定期发送银行卡消费账单,本例模拟银行处理个人信用卡消费对账单对账,银行需要定期地把个人消费的记录导出成CSV格式的文件,然后交给对账系统处理,本例模拟银行读入CSV文件,经过处理后,生成新的对账单。项目结构CreditBill.java :表示信用卡消费记录领域对象 CreditBillProcessor.java :记录处理类,本场景中没有任何业务操作,仅打印账单原创 2016-12-30 13:52:59 · 8056 阅读 · 1 评论 -
SpringBatch JobExecution
Job Execution 表示Job执行的句柄,一次Job执行可能成功也可能失败。只有Job Execution执行成功之后,对应的Job Instance才能被完成。Job Execution对应的数据库表是:BATCH_JOB_EXECUTION,对应的java类是:org.springframework.batch.core.JobExecution。表结构:JobExecution关键属性原创 2017-01-23 14:27:31 · 5506 阅读 · 0 评论 -
SpringBatch Step StepExecution
Step表示作业中的一个完整步骤,一个Job可以由一个或者多个Step组成。Step包含一个实际运行的批处理任务中的所有必须的信息.一个Job可以拥有一到多个Step;一个Step可以有一到多个Step Execution(当一个Step执行失败,下次重新执行该任务的时候,会为该Step重新生成一个StepExecution);一个JobExecution可以有一到多个StepExecution(当原创 2017-01-23 16:04:06 · 5244 阅读 · 0 评论 -
SpringBatch 数据库 Schema
SpringBatch框架进行元数据管理共有九张表,其中有三张表(后缀为SEQ)是用来分配主键的。BATCH_JOB_INSTANCE 作业实例表,用于存放Job的实例信息BATCH_JOB_EXECUTION_PARAMS 作业参数表,用于存放每个Job执行时候的参数信息,该参数实际上是对应Job实例的。BATCH_JOB_EXECUTION 作业执行器表,用于存放当前作业的执行信息,比如创原创 2017-01-24 13:31:50 · 1869 阅读 · 0 评论 -
SpringBatch 配置Job之二
Step ScopeStep Scope时SpringBatch框架提供的自定义的Scope,将SpringBean定义为Step Scope,支持SpringBean在Step开始的时候初始化,在Step结束的时候销毁SpringBean,将 SpringBean的生命周期与Step绑定。在SpringBatch框架中,Step Scope会自动被注册到Spring上下文中,如果没有使用Spri原创 2017-03-06 10:34:06 · 4744 阅读 · 0 评论 -
SpringBatch 配置Job之一
Job标签的属性定义id : Job的唯一标识,在整个运行上下文中不允许重复。incrementer : 作业参数递增器,只有在org.springframework.batch.core.launch.JobOperator.startNextInstance(String jobName)方法中使用restartable : 定义当前作业是否支持重启,默认值是true,表示支持重启。parent原创 2017-02-22 09:56:46 · 3529 阅读 · 0 评论