Spring Batch介绍

  

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介绍

  

?架构
 Spring Batch介绍”> <br/> Spring Batch使用三层架构,三层分别为应用,核心和基础服务。<br/>应用层:包含所有的批处理作业,通过春天框架管理程序员自定义的代码。应用层是用户写的批处理任务。<br/>核心层:包含Spring Batch启动和控制所需要的核心类,核心层包含执行和控制任务必须的核心类。如JobLauncher,工作和步骤的实现。<br/>基础架构层:应用和核心层基于一层公用的基础服务。基础服务包括通用的读者,作家,服务处理。(RetryTemplate重试模板,RepeatReader重复模板)可以被应用层核心层使用。</p>
  <p> ?优势<br/> Spring Batch是SpringSource和埃森哲(埃森哲)合作开发的.Accenture在批处理架构上有着丰富的工业级别的经验,贡献了之前专用的批处理体系框架(这些框架历经数十年研发和使用,为Spring Batch提供了大量的参考经验);SpringSource则有着深刻的技术认知和春天框架编程模型。<br/> Spring Batch框架通过提供丰富的即开即用的组件,和高可靠性,高扩展性的能力,使得开发批处理应用的人员专注于业务的处理,</p><h2 class=Spring Batch介绍