此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Batch 文档 5.1.2! |
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Batch 文档 5.1.2! |
企业域中的许多应用程序都需要批量处理才能执行 任务关键型环境中的业务运营。这些业务运营包括:
-
以最高效的方式对大量信息进行自动化、复杂的处理 在没有用户交互的情况下处理。这些操作通常包括基于时间的事件 (例如月末计算、通知或通信)。
-
定期应用在非常大的 数据集(例如,保险福利确定或费率调整)。
-
集成从内部和外部系统接收的信息 通常需要以事务方式格式化、验证和处理 记录系统。批处理用于处理每个 10 亿笔交易 企业日。
Spring Batch 是一个轻量级、全面的批处理框架,旨在启用 开发对企业日常运营至关重要的强大批处理应用程序 系统。Spring Batch 建立在 Spring Framework 的特性之上,人们 已经开始期望(生产力、基于 POJO 的开发方法和一般的易用性 use),同时使开发人员能够轻松访问和使用更高级的 Enterprise 服务。Spring Batch 不是调度框架。有很多好的 企业调度程序(例如 Quartz、Tivoli、Control-M 等)在 商业和开源空间。Spring Batch 旨在与 scheduler 而不是替换 scheduler。
Spring Batch 提供了处理大量数据所必需的可重用功能 记录,包括日志记录和跟踪、事务管理、作业处理统计信息、 作业重启、跳过和资源管理。它还提供更先进的技术 支持极高容量和高性能批处理作业的服务和功能 通过优化和分区技术。您可以在简单的 使用案例(例如将文件读入数据库或运行存储过程)和 复杂、高容量的使用案例(例如在数据库之间移动大量数据、 转换它,依此类推)。大容量批处理作业可以在 高度可扩展的方式来处理大量信息。
背景
虽然开源软件项目和相关社区更加关注 在基于 Web 和微服务的架构框架上,已经有 明显缺乏对可重用架构框架的关注,以适应基于 Java 的批处理 处理需求,尽管仍然需要在企业 IT 中处理此类处理 环境。由于缺乏标准的、可重用的批处理架构,导致 在客户企业 IT 中开发的许多一次性内部解决方案 功能。
SpringSource(现在的 VMware)和 Accenture 合作改变了这一点。埃森哲的 实施 Batch 架构的实践行业和技术经验, SpringSource 深厚的技术经验,以及 Spring 久经考验的编程模型 共同建立了自然而强大的合作伙伴关系,以创造高质量、与市场相关的 旨在填补企业 Java 中的一个重要空白的软件。两家公司都曾合作过 许多通过开发基于 Spring 的批处理来解决类似问题的客户 架构解决方案。此输入提供了一些有用的附加细节和现实生活 有助于确保解决方案可以应用于实际问题的约束 由客户摆姿势。
Accenture 将以前专有的批处理架构框架贡献给了 Spring Batch 项目,以及用于推动支持、增强、 和现有功能集。埃森哲的贡献基于数十年的 使用最近几代 平台:大型机上的 COBOL、Unix 上的 C++,以及现在的 Java 任何地方。
埃森哲和 SpringSource 之间的合作旨在促进 软件处理方法、框架和工具的标准化 企业用户可以在创建批处理应用程序时一致使用。公司 以及希望为其提供标准、经过验证的解决方案的政府机构 企业 IT 环境可以从 Spring Batch 中受益。
使用场景
典型的批处理程序通常为:
-
从数据库、文件或队列中读取大量记录。
-
以某种方式处理数据。
-
以修改后的形式写回数据。
Spring Batch 自动执行此基本批处理迭代,从而提供处理 与一组交易类似,通常在没有任何用户的离线环境中 互动。批处理作业是大多数 IT 项目的一部分,而 Spring Batch 是唯一开放的 Source 框架,该框架提供强大的企业级解决方案。