数据处理---Spring Batch之基础
2016-07-04 15:07
405 查看
Spring框架提供了强大的底层结构,基于此,Spring出现了很多方面的应用。Spring Batch就是其一,它是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供大量的,可重复的数据处理功能,包括日志记录/跟踪,事务管理,作业处理统计工作重新启动、跳过,和资源管理等重要功能。需要说明的是,spring
batch并不提供定时之类的功能,那是quartz等做的事情
使用spring Batch,可以使程序员专注于业务处理,让Spring框架管理流程。
明确分离批处理的执行环境和应用。
提供核心的,共通的接口。
提供开箱即用(out of the box)的简单的默认的核心执行接口。
提供Spring框架中配置、自定义、和扩展服务。
所有存在的核心服务可以很容的被替换和扩展,不影响基础层。
Spring Batch里面有几个基本的概念需要明白,有了这些基础才好开始动手让job跑起来。
Job就是要做的事情,很简单,通过JobLauncher.run(job, new JobParameters());来运行JOB帮助我们跑批,当然可以添加JobParameters。每个Job真正跑起来就是JobInstance
一个Job由好几个步骤构成,就是Step。比如第一步做什么,第二步做什么。每个步骤里面有很多小任务,没错就是Tasklet
每个步骤一般包括ItemReader,ItemProcessor,ItemWriter,这几个很好理解。Job不就是做读数据,处理数据,写数据的吗?
所有的这些步骤都可以持久化,方便对整个执行情况进行跟踪,谁来做持久化呢,就是JobRepository。
![](http://img.blog.csdn.net/20160704152939436)
下面利用STS(spring tool suite)快速创建一个简单的spring batch project.
1,选择Spring Templete Project
![](http://img.blog.csdn.net/20160704163755996)
2,选择Simple Spring Batch Project
![](http://img.blog.csdn.net/20160704163800526)
3,输入项目名称,包名信息
![](http://img.blog.csdn.net/20160704163805136)
4,可以看到生成的代码
![](http://img.blog.csdn.net/20160704163809713)
一个简单的spring batch项目就有了,可以运行下ExampleJobConfigurationTests,run as JUnit,可以简单了解下整个过程
里面有个module-context.xml,就是job的配置文件。Job里面的step可以定义下一步等内容,打开文件可以图形化查看job流程。
![](http://img.blog.csdn.net/20160705110925446)
<batch:job id="job1">
<batch:step id="step1" next="step2" >
<batch:tasklet transaction-manager="transactionManager" start-limit="100" >
<batch:chunk reader="reader" writer="writer" commit-interval="1" />
</batch:tasklet>
</batch:step>
<batch:step id="step2" >
<batch:tasklet transaction-manager="transactionManager" start-limit="100" >
<batch:chunk reader="reader" writer="writer" commit-interval="1" />
</batch:tasklet>
</batch:step>
</batch:job>
batch并不提供定时之类的功能,那是quartz等做的事情
使用spring Batch,可以使程序员专注于业务处理,让Spring框架管理流程。
明确分离批处理的执行环境和应用。
提供核心的,共通的接口。
提供开箱即用(out of the box)的简单的默认的核心执行接口。
提供Spring框架中配置、自定义、和扩展服务。
所有存在的核心服务可以很容的被替换和扩展,不影响基础层。
Spring Batch里面有几个基本的概念需要明白,有了这些基础才好开始动手让job跑起来。
Job就是要做的事情,很简单,通过JobLauncher.run(job, new JobParameters());来运行JOB帮助我们跑批,当然可以添加JobParameters。每个Job真正跑起来就是JobInstance
一个Job由好几个步骤构成,就是Step。比如第一步做什么,第二步做什么。每个步骤里面有很多小任务,没错就是Tasklet
每个步骤一般包括ItemReader,ItemProcessor,ItemWriter,这几个很好理解。Job不就是做读数据,处理数据,写数据的吗?
所有的这些步骤都可以持久化,方便对整个执行情况进行跟踪,谁来做持久化呢,就是JobRepository。
下面利用STS(spring tool suite)快速创建一个简单的spring batch project.
1,选择Spring Templete Project
2,选择Simple Spring Batch Project
3,输入项目名称,包名信息
4,可以看到生成的代码
一个简单的spring batch项目就有了,可以运行下ExampleJobConfigurationTests,run as JUnit,可以简单了解下整个过程
里面有个module-context.xml,就是job的配置文件。Job里面的step可以定义下一步等内容,打开文件可以图形化查看job流程。
<batch:job id="job1">
<batch:step id="step1" next="step2" >
<batch:tasklet transaction-manager="transactionManager" start-limit="100" >
<batch:chunk reader="reader" writer="writer" commit-interval="1" />
</batch:tasklet>
</batch:step>
<batch:step id="step2" >
<batch:tasklet transaction-manager="transactionManager" start-limit="100" >
<batch:chunk reader="reader" writer="writer" commit-interval="1" />
</batch:tasklet>
</batch:step>
</batch:job>
相关文章推荐
- 进程上下文与线程上下文
- RXJava的操作符
- 多线程 java文件复制,文件提取,删除,zip压缩工具
- Struts1与Struts2的12点区别
- java入门第一季_1.1_java介绍
- SpringMVC详细示例实战
- struts2的核心和工作原理
- 【基础篇】Eclipse + gitLab + ssh连接
- java中静态代码块的用法 static用法详解
- 几个 Context 上下文的区别
- kafka性能参数和压力测试揭秘
- iReport3.7.1 java打印报表(一)
- 数字证书简介及Java编码实现
- java基础理论---进程与线程
- java使用JNDI 获取weblogic配置的数据源 连接数据库
- Java Serializable(序列化)的理解和总结
- SpringMVC 注释@PathVariable
- SpringMVC 注释@PathVariable
- 动画讲解Eclipse常用快捷键
- Java RSA加密解密