重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Spring batch 是一个开源的批处理框架.执行一系列的任务. 在 spring batch 中 一个job 是由许多 step 组成的。而每一个 step 又是由 READ-PROCESS-WRITE task或者 单个 task 组成。
成都创新互联公司为客户提供专业的成都网站建设、成都网站设计、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、手机网站制作等网站方面业务。1. "READ-PROCESS-WRITE" 处理,根据字面意思理解就可以:
比如:从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: