Spring Batch 介绍

时间:2021-12-08 22:31:14

在企业应用的关键环境中,通常有需要很多应用来来处理大量的应用。这商业操作包括了自动化,并且负责的处理程序来对大量数据进行高效的处理,通常这些程序不需要人工进行干预。这些事件包括有基于时间周期产生的操作(例如,月末统计计算,通知或者消息通知,或者定期处理那些业务逻辑非常复杂,并且数据量非常大的操作(例如,保险的保额确定或者保险费率的调整),也有可能是从内部或者外部抓取到的数据的格式化,通常这些数据需要进行格式化,校验,并且通过事务来整合到自己的数据库中。批处理通常被用来针对企业每天产生超过亿万级别的数据量。

Spring Batch是一个轻量级的综合性批处理框架,可用于开发企业信息系统中那些至关重要的数据批量处理业务。Spring Batch 是基于生产率来进行构建的,并且基于 POJO 进行开发,用户也很容易上手使用,让开发者很容易的访问和使用企业级服务。Spring Batch 不是一个自动运行框架。在市面已经有了很多企业级和开源的自动运行框架,例如 Quartz,Tivoli, Control-M 等。Spring Batch 被设计与计划任务和调度程序一同协作完成任务,而没有被设计用来取代任务调度和计划任务。

Spring Batch 提供了可重用的功能,这些功能被用来对大量数据和记录进行处理,包括有日志/跟踪(logging/tracing),事务管理(transaction management),任务处理状态(job processing statistics),任务重启(job restart),任务跳过(job skip)和资源管理(resource management)。 此外还提供了许多高级服务和特性, 使之能够通过优化(optimization ) 和分片技术(partitioning techniques)来高效地执行超大型数据集的批处理任务。

Spring Batch 是一个具有高可扩展性的框架。不管简单还是复杂,还是大批量的处理任务,都可以使用 Spring Batch 框架来实现。

https://www.cwiki.us/display/SpringBatchZH/Spring+Batch+Introduction