详解Springbatch入门学习教程(附源码)-创新互联

Spring batch 是一个开源的批处理框架.执行一系列的任务. 在 spring batch 中 一个job 是由许多 step 组成的。而每一个 step  又是由 READ-PROCESS-WRITE task或者 单个 task 组成。

成都创新互联公司为客户提供专业的成都网站建设、成都网站设计、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、手机网站制作等网站方面业务。

1. "READ-PROCESS-WRITE" 处理,根据字面意思理解就可以:

  1. READ 就是从资源文件里面读取数据,比如从xml文件,csv文件,数据库中读取数据.
  2. PROCESS 就是处理读取的数据
  3. WRITE 就是将处理过的数据写入到其他资源文件中去,可以是XML,CSV,或者数据库.

比如:从CSV文件中 读取数据,经过处理之后,保存到数据库. spring batch 提供了很多类去处理这方面的东西。

2.单个task, 也就是处理单个任务。比如在一个step 开始之前或者完成之后清除资源文件等.


3.许多个step 组成在一起,就组成了一个job. 所以他们之间的关系,就如同下面的描述:


一个 job = 很多steps
一个step = 一个READ-PROCESS-WRITE 或者 一个task.
同样一个job = step1 -->step2--step3 这样链表形式的组成.

Spring batch 例子


考虑如下一个批处理的例子,看起来有点啰嗦,只是为了说明用途:


1. step1 : 从 A 文件夹中读取csv 文件,处理之后,写入到B文件夹中(READ-PROCESS-WRITE)
2. step2 : 从 B 文件夹中读取CSV文件 ,处理之后, 存储到数据库中(READ-PROCESS-WRITE).
3. step3 : 删除B文件夹下的CSV文件。(用到单个task)
4. step4 : 从数据库读取数据,处理之后,生成XML报表文件(READ-PROCESS-WRITE).
5. step5 : 读取XML报表,并发送EMAIL给管理员(用到单个task)

用spring batch 我们可以如下定义这个job:


<job id="abcJob" xmlns="http://www.springframework.org/schema/batch">
 <step id="step1" next="step2">
  <tasklet>
  <chunk reader="cvsItemReader" writer="cvsItemWriter" 
     processor="itemProcesser" commit-interval="1" />
  </tasklet>
 </step>
 <step id="step2" next="step3">
  <tasklet>
  <chunk reader="cvsItemReader" writer="databaseItemWriter" 
     processor="itemProcesser" commit-interval="1" />
  </tasklet>
 </step>
 <step id="step3" next="step4">
  <tasklet ref="fileDeletingTasklet" />
 </step>
 <step id="step4" next="step5">
  <tasklet>
  <chunk reader="databaseItemReader" writer="xmlItemWriter" 
     processor="itemProcesser" commit-interval="1" />
  </tasklet>
 </step>
 <step id="step5">
  <tasklet ref="sendingEmailTasklet" />
 </step>
 </job>

本文名称:详解Springbatch入门学习教程(附源码)-创新互联
URL地址:https://www.cdcxhl.com/article32/djjjpc.html

成都网站建设公司_创新互联,为您提供网站设计微信小程序企业建站ChatGPT网站内链网页设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

营销型网站建设