您的位置:首页 > 编程语言 > Java开发

数据处理---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



下面利用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> 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: