SpringBatch 简单介绍

SpringBatch 简单介绍

1.SpringBatch 是什么

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

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

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

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

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

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

2.Spring Batch框架工作原理

SpringBatch 简单介绍

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

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

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

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

SpringBatch 简单介绍

3.Spring Batch的分层架构

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

SpringBatch 简单介绍

4.用spring initialize来生成项目,

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

SpringBatch 简单介绍

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

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

SpringBatch 简单介绍

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==∣=2247487812&idx=2&sn=48569f97aeb0e687980f99bed4d798a3&chksm=9bd0bcdcaca735ca2f8a509c8265fd074a53bdacb8d65578caae660fc8d592ead6db95ead8d2&scene=27#wechat_redirect

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

原文 

http://www.hechunbo.com/index.php/archives/282.html

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » SpringBatch 简单介绍

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址