springBatch(1)---概述
绪论:
在大型的企业应用中,或多或少会用到大量的任务需要处理。如:邮件通知所有将要过期的会员等。
而在批处理任务的过程中,又需要注意很多细节,如任务异常、性能瓶颈等等,为此急需一款优秀的框架来解决这些问题,为此springBatch应运而生。
概述:
1、什么是springBatch?
官方译文:一款轻量级的、全面的批处理框架,用于日常应用的企业批处理应用程序。
springBatch是spring的一个子项目,使用java语言并基于spring框架为基础而开发出来的
springBatch提供了大量的可重用组件,包括日志、追踪、事务、任务作业统计、任务重启、跳过、重复、资源管理等。
对于大数据量和高性能的批处理任务,springBatch提供了高级功能和特性来支持,总之,springBatch能够处理简单的、复杂的和大数据量的批处理作业。
注:springBatch不是一个调度框架,Quartz是任务调度框架,但是springBatch需要调度框架来协作构建完成批处理任务,它只关注处理任务相关的问题,如事务、并发、监控、执行等。它并不提供相应的调度。
2、框架的主要模块如下:
Transaction management:事务管理
chuch based processing:基于块的处理.
declarative I/0 :声明式输入输出
start/stop/restart:启动、停止、再启动
retry/Skip:重试跳过
3、框架由4个部分组成:
1)、jobLauncher:任务启动器、通过它来启动任务、可以看做是程序的入口.
2)、job:代表着一个具体的任务
3)、step:代表着一个具体的步骤,一个job可以包含多个step
4)、jobRepository:存储数据的地方,可以看做是一个数据库的接口,在任务执行的时候需要通过他来记录任务的状态等信息。