SpringBatch的封装配置及其运用(结合spring scheduler进行调度)

Spring Batch官网介绍:A lightweight, comprehensive batch framework designed to enable the development of robust batch applications vital for the daily operations of enterprise systems.(一款轻量的、全面的批处理框架,用于开发强大的日常运营的企业级批处理应用程序。)

框架主要有以下功能:

  • Transaction management(事务管理)
  • Chunk based processing(基于块的处理)
  • Declarative I/O(声明式的输入输出)
  • Start/Stop/Restart(启动/停止/再启动)
  • Retry/Skip(重试/跳过)

框架设计图: 

SpringBatch的封装配置及其运用(结合spring scheduler进行调度)_第1张图片

框架一共有有4个主要角色:

(1)JobLauncher是任务启动器,通过它来启动任务。

(2)Job代表着一个具体的任务。

(3)Step代表着一个具体的步骤,一个Job可以包含多个Step。

(4)JobRepository是存储数据的地方,可以看做是一个数据库的接口,在任务执行的时候需要通过它来记录任务状态等等信息,本文对其无使用。

    详细不做介绍,因为springbatch只是一个批处理框架,所以本文带大家了解如何通过spring scheduler 结合springBatch实现定时调度,贴代码。

首先新建一个tasklet继承Tasklet接口(即一个step)

SpringBatch的封装配置及其运用(结合spring scheduler进行调度)_第2张图片

然后配置xml,把这个类注册成一个bean并关联到注册好的step,再关联到注册好的job中。

SpringBatch的封装配置及其运用(结合spring scheduler进行调度)_第3张图片

接下来,自己封装一个batchJobLauncher

SpringBatch的封装配置及其运用(结合spring scheduler进行调度)_第4张图片

 

SpringBatch的封装配置及其运用(结合spring scheduler进行调度)_第5张图片

之后把batchJobLauncher注册为bean,并把里面的属性关联之前注册的job

最后集成spring scheduler,让它定时去调执行器执行任务。

关于corn的配置可以自行百度。

你可能感兴趣的:(spring)