Spring Batch介绍
?概述
Spring Batch是一个轻量级的,完善的批处理框架,旨在帮助企业建立健壮,高效的批处理应用.Spring批是春天的一个子项目,使用Java语言并基于春天框架为基础开发,使得已经使用弹簧框架的开发者或者企业更容易访问和利用企业服务。
Spring Batch提供了大量可重用的组件,包括了日志,追踪,事务,任务作业统计,任务重启,跳过,重复,资源管理。对于大数据量和高性能的批处理任务,Spring Batch同样提供了高级功能和特性来支持,比如分区功能,远程功能。总之,通过Spring Batch能够支持简单的,复杂的和大数据量的批处理作业。
Spring Batch是一个批处理应用框架,不是调度框架,但需要和调度框架合作来构建完成的批处理任务。它只关注批处理任务相关的问题,如事务,并发,监控,执行等,并不提供相应的调度功能。如果需要使用调度框架,在商业软件和开源软件中已经有很多优秀的企业级调度框架(如石英、Tivoli Control-M, Cron等)可以使用。
?场景
?周期性的提交批处理
?把一个任务并行处理
?消息驱动应用分级处理
?大规模并行批处理
?手工或调度使任务失败之后重新启动
?有依赖步骤的顺序执行(使用工作流驱动扩展)
?处理时跳过部分记录
?成批事务:为小批量的或有的存储过程/脚本的场景使用
举例:
一系统从数据库中获取数据,经过处理后,导出系统B需要的文件,系统B读取文件,经过业务处理后存放到数据库中。
每天夜间12:00-2:00之间进行。
?架构
Spring Batch介绍