SpringBatch 简单介绍

1.SpringBatch 是什么

SpringBatch 是一个大数据量的并行处理框架。通常用于数据的离线迁移,和数据处理,⽀持事务、并发、流程、监控、纵向和横向扩展,提供统⼀的接⼝管理和任务管理;SpringBatch是SpringSource和埃森哲为了统一业界并行处理标准为广大开发者提供方便开发的一套框架。

官方地址:github.com/spring-projects/spring-batch

SpringBatch 本身提供了重试,异常处理,跳过,重启、任务处理统计,资源管理等特性,这些特性开发者看重他的主要原因;

SpringBatch 是一个轻量级的批处理框架;

SpringBatch 结构分层,业务与处理策略、结构分离;

任务的运行的实例状态,执行数据,参数都会落地到数据库;

2.Spring Batch框架工作原理

1574599048298

一个 Batch(批处理)过程由一个 Job(作业)组成。这个实体封装了整个批处理过程。

一个 Job(作业)可以由一个或多个 Step(步骤)组成。在大多数情况下,一个步骤将读取数据(通过 ItemReader),处理数据(使用 ItemProcessor),然后写入数据(通过 ItemWriter)。

JobLauncher处理启动一个 Job(作业)。

最后, JobRepository存储关于配置和执行的 Job(作业)的元数据。

1574600265607

3.Spring Batch的分层架构

  • Insfrastructure 策略管理:包括任务的失败重试,异常处理,事务,skip,以及数据的输入输出(文本文件,DB,Message)
  • Core: springBatch 的核心,包括JobLauch,job,step等等
  • Application: 业务处理,创建任务,决定任务的执行方式(定时任务,手动触发等)

1574600225781

4.用spring initialize来生成项目,

https://start.spring.io/ 这个页面里,直接选择依赖项是spring batch

1574599280742

点击下面的generate 会自动生成项目代码。下载下来,然后进行具体业务逻辑的编写 。

生成的文件的目录结构如下

1574599448560

pom.xml: Maven项目中的xml配置文件 ,

5.关于Spring boot

使用spring boot 是为了让项目可以直接运行,在默认生成的xxxApplication类中有一个main方法 ,使用

SpringApplication.run来启动应用 程序 。

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

参考:

https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==&mid=2247487812&idx=2&sn=48569f97aeb0e687980f99bed4d798a3&chksm=9bd0bcdcaca735ca2f8a509c8265fd074a53bdacb8d65578caae660fc8d592ead6db95ead8d2&scene=27#wechat_redirect

https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==&mid=2247483951&idx=1&sn=a09ee84ba1d0452787382436b04b8979&chksm=9bd0afb7aca726a171f4877764af0aaf65ac1470c26a7cc741a102c1b784a51d2aae3d7adfd5&scene=27#wechat_redirect


本文由 hcb 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论