Spring Batch
转 http://www.docin.com/p-553745032.html
领域问题
大批数据量的导入导出与业务处理
无需人工干预,能自动执行的大批量任务
健壮,不会应为无效数据或错误数据导致程序崩溃
可靠,跟踪、监控、日志等相关的处理策略
可扩展,并行和并发
架构
Domain Language
job repository :提供持久化机制
job launcher:启动job
job:batch操作的基本单元,就是要执行的任务的总称
step:job的一个阶段
tasklet:step的一个事务过程
Item:从数据源读出或写入的数据记录
Chunk:给定数量item的集合
Item Reader : 从给定的数据源读取item集合
Item Writer:把chunk中包含的数据写入数据源
Item Processor:数据清洗/转换
Datasource:Flat file/XML/DB/Messages(JMS/AMQP)
monitor
1.查看repository的数据库信息
2.通过spring batch提供的api自己构建监控数据
3.使用spring batch admin
4.使用jmx
Scaling
type
multiThread step 在本地多线程执行一个step
parallel step 在本地多线程执行多个step
remote chunking在远程节点上执行分布式chunk操作
partioning step 对数据分区,并分开执行
JobInstance = Job + JobParameters
JobExecution:is the primary storage mechanism for what actually happened during a run, and as such contains many more properties that must be controlled and persisted
status,startTime,endTime,exitStatus,createTime,lastUpdate,executionContext,failureExceptions