Spring Batch - 概述

批处理是一种处理模式,它涉及执行一系列自动化的复杂作业而无需用户交互。 批处理处理大量数据并运行很长时间。

一些企业应用程序需要处理大量数据以执行涉及 −

  • 基于时间的事件,例如周期性计算。

  • 在大型数据集上重复处理的定期应用程序。

  • 以事务方式处理和验证可用数据的应用程序。

因此,企业应用程序中使用批处理来执行此类事务。


什么是 Spring Batch

Spring batch 是一个轻量级框架,用于开发用于企业应用程序的批处理应用程序

除了批量处理之外,该框架还提供了以下功能 −

  • 包括日志记录和跟踪
  • 事务管理
  • 作业处理统计信息
  • 工作重启
  • 跳转和资源管理

您还可以使用其分割技术来扩展 spring batch 应用程序。


Spring Batch 的特点

以下是 Spring Batch 的显著特性 −

  • 灵活性 − Spring Batch 应用程序很灵活。 您只需更改 XML 文件即可更改应用程序中的处理顺序。

  • 可维护性 − Spring Batch 应用程序易于维护。 Spring Batch 作业包括步骤,每个步骤都可以解耦、测试和更新,而不会影响其他步骤。

  • 可扩展性 − 使用分割技术,您可以扩展 Spring Batch 应用程序。 这些技术可以让你 −

    • 并行执行作业的步骤。

    • 并行执行单个线程。

  • 可靠性 − 如果发生任何故障,您可以通过解耦步骤从停止的确切位置重新启动作业。

  • 支持多种文件格式 − Spring Batch 提供对大量读取器和写入器的支持,例如 XML、Flat file、CSV、MYSQL、Hibernate、JDBC、Mongo、Neo4j 等。

  • 启动工作的多种方式 − 您可以使用 Web 应用程序、Java 程序、命令行等启动 Spring Batch 作业。

除了这些,Spring Batch 应用程序还支持 −

  • 失败后自动重试。

  • 在批处理执行期间和完成批处理后跟踪状态和统计信息。

  • 运行并发作业。

  • 日志记录、资源管理、跳过和重新启动处理等服务。