跑批利器--SpringBatch


       在上篇文章中我们知道批处理应用程序的要求,当然,具体实现的方式有很多,小到脚本和自己写个批量,大到专业的批量处理系统.那么如何选择一个合适的一个呢?SpringBatch可以作为众多选择中一个不错的选择.

 

      根据相关资料介绍,我们可以对SpringBatch进行一个整体了解.

 

       Spring Batch是一个轻量级的、完善的批处理框架,旨在帮助企业建立健壮、高效的批处理应用。SpringBatch是Spring的一个子项目,使用Java语言并基于Spring框架为基础开发,使的已经使用 Spring框架的开发者或者企业更容易访问和利用企业服务。

 

       Spring Batch供了大量可重用的组件,包括了日志、追踪、事务、任务作业统计、任务重启、跳过、重复、资源管理。对于大数据量和高性能的批处理任务,Spring Batch同样提供了高级功能和特性来支持,比如分区功能、远程功能。总之,通过 Spring Batch 能够支持简单的、复杂的和大数据量的批处理作业。

 

       需要注意的是Spring Batch是一个批处理应用框架,不是调度框架,但需要和调度框架合作来构建完成的批处理任务。它只关注批处理任务相关的问题,如事务、并发、监控、执行等,并不提供相应的调度功能。如果需要使用调用框架,在商业软件和开源软件中已经有很多优秀的企业级调度框架(如Quartz、TCron 等)可以使用。

      

       SpringBatch主要特点:

 

      基于Spring框架基础;面向批量处理; 丰富读写组件;健壮性和可靠性.

 

SpringBatch技术目标:

 

1、利用Spring编程模型:使程序员专注于业务处理,让Spring框架管理流程。

 

2、明确分离批处理的执行环境和应用。

 

3、提供核心的,共通的接口。

 

4、提供开箱即用(outof the box)的简单的默认的核心执行接口。

 

5、提供Spring框架中配置、自定义、和扩展服务。

 

6、所有存在的核心服务可以很容的被替换和扩展,不影响基础层。

 

7、提供一个简单的部署模式,利用Maven构建独立的Jar文件。

 

     通过SpringBatch,读者可以直接从最佳实践中受益。同时也受益于许多现成的组件.SpringBatch读写技术支持的数据源包括数据库,和文件.具体技术包括JDBC,Hibernate,JPA,IBATIS,Flat file,XML等等.

 

     参考资料:Spring Batch In Action

你可能感兴趣的:(跑批利器--SpringBatch)