概述
Batch processing是一种处理模式,涉及执行一系列自动复杂作业而无需用户交互。 批处理过程处理批量数据并长时间运行。
一些企业应用程序需要处理大量数据以执行涉及的操作 -
基于时间的事件,例如定期计算。
在大型数据集上重复处理的定期应用程序。
处理以事务方式处理和验证数据的应用程序。
因此,批处理在企业应用程序中用于执行此类事务。
什么是Spring Batch
Spring批处理是一个lightweight framework ,用于开发企业应用程序中使用的Batch Applications程序。
除批量处理外,该框架还提供以下功能:
- 包括日志记录和跟踪
- 交易管理
- Job processing statistics
- Job restart
- 跳过和资源管理
您还可以使用其分割技术来缩放弹簧批量应用程序。
Spring Batch的特点
以下是Spring Batch的显着特征 -
Flexibility - Spring Batch应用程序非常灵活。 您只需更改XML文件即可更改应用程序中的处理顺序。
Maintainability - Spring Batch应用程序易于维护。 Spring Batch作业包括步骤,每个步骤都可以解耦,测试和更新,而不会影响其他步骤。
Scalability - 使用分割技术,您可以扩展Spring Batch应用程序。 这些技巧可以让你 -
并行执行作业的步骤。
并行执行单个线程。
Reliability - 如果发生任何故障,您可以通过解除步骤来从正好停止的位置重新启动作业。
Support for multiple file formats - Spring Batch支持大量读取器和编写器,如XML,平面文件,CSV,MYSQL,Hibernate,JDBC,Mongo,Neo4j等。
Multiple ways to launch a job - 您可以使用Web应用程序,Java程序,命令行等启动Spring Batch作业。
除此之外,Spring Batch应用程序支持 -
失败后自动重试。
在批处理执行期间和完成批处理之后跟踪状态和统计信息。
运行并发作业。
日志记录,资源管理,跳过和重新启动处理等服务。