美文网首页
spring batch 纯注解学习笔记(一)--数据批处理概念

spring batch 纯注解学习笔记(一)--数据批处理概念

作者: 小偷阿辉 | 来源:发表于2019-10-08 16:30 被阅读0次

    1.什么是批处理

    在现代企业应用中,面对复杂的业务以及海量的数据,除了通过庞杂的人机交互界面进行各种批处理外,还有一类工作,不需要人工干预,只需要定期读入大批量数据,然后完成相应业务并进行归档。这类工作称为批处理,现实中例如银行的批量订单处理,政府不同业务数据库实现的同步,上下级平台实现的数据同步等。
    从上面的描述可以看出,批处理应用有如下几个特点:
    · 数据量大,少则百万,多则上亿的数量级。
    ·不需要人工干预,由系统根据配置自动完成。
    ·与时间相关,如每天执行一次或每月执行一次
    同时,批处理应用又明显分为三个环节:
    · 读数据,数据可能来自文件、数据库或消息队列等。
    · 数据处理,如电信支撑系统的计费处理。
    · 写数据,将输出结果写入文件、数据库或消息队列等。

    2.spring batch介绍

    Spring Batch 作为 Spring 的子项目,是一款基于 Spring 的企业批处理框架。通过它可以构建出健壮的企业批处理应用。Spring Batch 不仅提供了统一的读写接口、丰富的任务处理方式、灵活的事务管理及并发处理,同时还支持日志、监控、任务重启与跳过等特性,大大简化了批处理应用开发,将开发人员从复杂的任务配置管理过程中解放出来,使他们可以更多地去关注核心的业务处理过程。

    另外我们还需要知道,Spring Batch 是一款批处理应用框架,不是调度框架。它只关注批处理任务相关的问题,如事务、并发、监控、执行等,并不提供相应的调度功能。因此,如果我们希望批处理任务定期执行,可结合 Quartz 等成熟的调度框架实现

    spring batch基本结构
    比较重要的几个domain
    JobRepository:作业仓库,保存Job、Step执行过程中的状态及结果,指定数据源和事务管理
    JobLauncher;作业执行器,是执行Job的入口
    Job:一个批处理任务,由一个或多个Step组成
    Step :一个任务的具体的执行逻辑单位
    Item :一条数据记录
    ItemReader:从数据源读数据
    ItemProcessor:对数据进行处理,如数据清洗、转换、过滤、校验等
    ItemWriter:写入数据到指定目标
    Chunk:给定数量的Item集合,如读取到chunk数量后,才进行写操作
    Tasklet: Step中具体执行逻辑,可重复执行
    重要的注解
    @EnableBatchProcessing :自动补全一些相关属性
    例如
    @Autowired
    public JobBuilderFactory jobBuilderFactory;
    @Autowired
    public StepBuilderFactory stepBuilderFactory;

    @ JobScope:在任务实例化的时候创建Bean,开启延迟Bean实例功能
    @StepScope:在step被使用时创建Bean,开启延迟加载功能

    相关文章

      网友评论

          本文标题:spring batch 纯注解学习笔记(一)--数据批处理概念

          本文链接:https://www.haomeiwen.com/subject/oqdructx.html