批处理框架 Spring Batch 这么强,你会用吗?


批处理框架spring batch基础知识介绍
https://blog.csdn.net/topdeveloperr/article/details/84337956

Table of Contents

spring batch简介

Spring Batch架构介绍

Spring Batch核心概念介绍

什么是Job

什么是JobInstance

什么是JobParameters

 什么是JobExecution

什么是Step

什么是StepExecution

什么是ExecutionContext

 什么是JobRepository

什么是JobLauncher

什么是Item Reader

什么是Item Writer

什么是Item Processor

chunk 处理流程

skip策略和失败处理

批处理操作指南

批处理原则

如何默认不启动job

在读数据时内存不够

 


框架。企业域中的许多应用程序需要批量处理才能在关键任务环境中执行业务操作。 这些业务运营包括:

  • 无需用户交互即可最有效地处理大量信息的自动化,复杂处理。 这些操作通常包括基于时间的事件(例如月末计算,通知或通信)。
  • 在非常大的数据集中重复处理复杂业务规则的定期应用(例如,保险利益确定或费率调整)。
  • 集成从内部和外部系统接收的信息,这些信息通常需要以事务方式格式化,验证和处理到记录系统中。 批处理用于每天为企业处理数十亿的交易。

Spring Batch是一个轻量级,全面的批处理框架,旨在开发对企业系统日常运营至关重要的强大批处理应用程序。 Spring Batch构建了人们期望的Spring Framework特性(生产力,基于POJO的开发方法和一般易用性),同时使开发人员可以在必要时轻松访问和利用更高级的企业服务。 Spring Batch不是一个schuedling的框架。

Spring Batch提供了可重用的功能,这些功能对于处理大量的数据至关重要,包括记录/跟踪,事务管理,作业处理统计,作业重启,跳过和资源管理。 它还提供更高级的技术服务和功能,通过优化和分区技术实现极高容量和高性能的批处理作业。 Spring Batch可用于两种简单的用例(例如将文件读入数据库或运行存储过程)以及复杂的大量用例(例如在数据库之间移动大量数据,转换它等等) 上)。 大批量批处理作业可以高度可扩展的方式利用该框架来处理大量信息。

架构介绍

一个典型的批处理应用程序大致如下:

  • 从数据库,文件或队列中读取大量记录。
  • 以某种方式处理数据。
  • 以修改之后的形式写回数据。

其对应的示意图如下:

spring batch使用reader读数据的内存容量问题