SpringBatch的流程图如下:

  

  每个Batch都会包含一个Job。Job就像一个容器,这个容器装了若干Step,Batch中实际干活的也就是这些Step,至于Step干什么活,无外乎读取数据,处理数据,然后将这些数据存储起来(ItemReader用来读取数据,ItemProcessor用来处理数据,ItemWriter用来写数据) 。JobLauncher用来启动Job,JobRepository是上述处理提供的一种持久化机制,它为JobLauncher,Job,和Step实例提供CRUD操作。

外部控制器调用JobLauncher启动一个Job,Job调用自己的Step去实现对数据的操作,Step处理完成后,再将处理结果一步步返回给上一层,这就是Batch处理实现的一个简单流程。

Step执行过程:

  

  

从DB或是文件中取出数据的时候,read()操作每次只读取一条记录,之后将读取的这条数据传递给processor(item)处理,框架将重复做这两步操作,直到读取记录的件数达到batch配置信息中”commin-interval”设定值的时候,就会调用一次write操作。然后再重复上图的处理,直到处理完所有的数据。当这个Step的工作完成以后,或是跳到其他Step,或是结束处理。

这就是一个SpringBatch的基本工作流程。更多详细参考:http://www.oschina.net/question/tag/spring+batch

最新文章

  1. 优化Linux内核参数
  2. Android 异步消息处理机制
  3. JAVA 异常类
  4. nohup
  5. 泛型baseDaoImpl类中如何知道具体子类的class类型
  6. CSS3的变形transform、过渡transition、动画animation学习
  7. nginx 平滑升级tengine
  8. 淘宝主搜索离线集群完成Hadoop 2
  9. shadow fight 1.6.0 内购
  10. Android 应用程序的组成部分
  11. 【百度地图API】今日小年大进步,齐头共进贺佳节——API优化升级上线,不再增加内存消耗
  12. String中的两种实例化方式的区别
  13. Java基础-运行原理及变量(01)
  14. Appscan 工具快速上手教程
  15. jetbrains的JetBrains PyCharm 2018.3.1破解激活到2100年(最新亲测可用)
  16. jenkins git 之 Advanced clone behaviours
  17. 【CSS学习】--- z-index属性
  18. @Scheduled 定时
  19. 网络安全事件频发,全站HTTPS势在必行
  20. SpringBoot结合swagger2快速生成简单的接口文档

热门文章

  1. Servlet中的过滤器
  2. React系列文章:Webpack模块组织关系
  3. 用Jersey构建RESTful服务1--HelloWorld
  4. C# DES (ECB模式) 加密解密 --单倍长
  5. 混沌的艺术--- YChaos通过数学公式生成混沌图像
  6. he canvas has been tainted by cross-origin data and tainted canvases may not be exported
  7. AI通过了艺术创作图灵测试,你根本分不出来作者是不是人
  8. 微软BI 之SSIS 系列 - 变量查询语句引起列输出顺序不一致的解决方法
  9. SoapUI Pro Project Solution Collection-Test Step Object
  10. C++ 获取程序编译时间