Spring Batch学习之路- 简介(一)
来源:互联网 发布:dede直播源码网站 编辑:程序博客网 时间:2024/06/05 07:52
1. 基础部分
资料:
- 官网:
- http://www.springsource.org/spring-batch
- 下载页面:
- http://static.springsource.org/spring-batch/downloads.html
- 文档:
- http://static.springsource.org/spring-batch/reference/index.html
- 数据库表格创建连接:DDL
- http://static.springsource.org/spring-batch/reference/html/metaDataSchema.html#exampleDDLScripts
Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供大量的,可重复的数据处理功能,包括日志记录/跟踪,事务管理,作业处理统计工作重新启动、跳过,和资源管理等重要功能。
业务方案:
1、 批处理定期提交。2、 并行批处理:并行处理工作。3、 企业消息驱动处理4、 大规模的并行处理5、 手动或是有计划的重启6、 局部处理:跳过记录(如:回滚)
技术目标:
1、 利用Spring编程模型:使程序员专注于业务处理,让Spring框架管理流程。2、 明确分离批处理的执行环境和应用。3、 提供核心的,共通的接口。4、 提供开箱即用(out of the box)的简单的默认的核心执行接口。5、 提供Spring框架中配置、自定义、和扩展服务。6、 所有存在的核心服务可以很容的被替换和扩展,不影响基础层。7、 提供一个简单的部署模式,利用Maven构建独立的Jar文件。
Spring Batch的结构:
这种分层结构有三个重要的组成部分:应用层、核心层、基础架构层。应用层包含所有的批处理作业,通过Spring框架管理程序员自定义的代码。
核心层包含了Batch启动和控制所需要的核心类,如:JobLauncher、Job和step等。
应用层和核心层建立在基础构架层之上,基础构架层提供共通的读(ItemReader)、写(ItemWriter)、和服务(如RetryTemplate:重试模块)。
Spring Batch流程介绍:
描绘了Spring Batch的执行过程,说明如下:
- 每个Batch都会包含一个Job
- Job就像一个容器,这个容器里装了若干Step,Batch中实际干活的也就是这些Step,至于Step干什么活,无外乎读取数据,处理数据,然后将这些数据存储起来
ItemReader用来读取数据
ItemProcessor用来处理数据
ItemWriter用来写数据- JobLauncher用来启动Job,JobRepository是上述处理提供的一种持久化机制
它为JobLauncher,Job,和Step实例提供CRUD操作- 外部控制器调用JobLauncher启动一个Job,Job调用自己的Step去实现对数据的操作,Step处理完成后,再将处理结果一步步返回给上一层
Step执行过程(SpringBatch的基本工作流程):
- 从DB或是文件中取出数据的时候,read()操作每次只读取一条记录
- 将读取的这条数据传递给processor(item)处理
- 框架将重复做这两步操作
直到读取记录数达到配置信息中”commin-interval”设定值时,调用一次write操作- 然后再重复上图的处理,直到处理完所有的数据
- 当这个Step的工作完成以后,或是跳到其他Step,或是结束处理
0 0
- Spring Batch学习之路- 简介(一)
- Spring Batch 之 Spring Batch 简介(一)
- Spring Batch 之 Spring Batch 简介(一)
- Spring Batch 之 Spring Batch 简介(一)
- Spring Batch 之 Spring Batch 简介(一)
- Spring Batch 之 Spring Batch 简介(一)
- Spring Batch 简介(一)
- Spring Batch之Spring Batch简介
- Spring batch教程 之 spring batch简介
- Spring Batch 之 Spring Batch 简介
- Spring Batch 之 Spring Batch 简介
- Spring Batch 之 Spring Batch 简介
- Spring Batch(一)
- Spring Batch(一)
- Spring Batch学习之路- HelloWord(二)
- Spring5学习(二)-spring projects之Spring Batch
- Spring Batch 简介
- Spring Batch 简介
- 我的进阶曲线之七
- 10 java.lang.ThreadLocal
- [IOS 开发] iOS 如何将日期字符串转成NSDate
- c# b/s 网站中截取网页图片
- python中的enumerate
- Spring Batch学习之路- 简介(一)
- 【JavaWeb探究】自定义JSP标签(二)
- hello world
- Oracle中单引号的使用
- 利用JDBC根据表结构生成ModelClass
- Simplify Path
- Objective-C---5---字典,集合
- CooradicatoarLayout 介绍
- B树、B+树、AVL树、红黑树