Spring Batch是什么?
Spring Batch是一个轻量级的、完善的批处理框架,它是Spring下的一个子项目,使用Java语言并基于Spring框架基础开发。
Spring Batch提供了大量可重用的组件,包括了日志,追踪,事务,任务作业统计、任务重启,跳过,重复,资源管理,对于大数据量和高性能的批处理任务,SpringBatch同样提供了高级功能和特性来支持,比如分区,远程功能。总之通过SpringBath能够支持简单的、复杂的和大数据量的批处理作业。
Spring Batch是一个批处理应用框架,不是调度框架,但需要和调度框架合作来构建完成的批处理任务。它只关注批处理任务相关的问题,如:事务,并发,监控,执行等,并不提供相应的调度功能。如需使用,有很多开源的调度框架都可以使用(如Quartz等)
框架主要有以下功能:
- Transaction management(事务管理)
- Chunk based processing(基于块的处理)
- Declarative I/O(声明式的输入输出)
- Start/Stop/Restart(启动/停止/再启动)
- Retry/Skip(重试/跳过)
框架主要有4个主要角色:JobLauncher是任务启动器ÿ