SpringBatch启动流程

1. SpringApplication中调用afterRefresh方法

2. 调用CommandLineRunner

3. JobLauncherCommandLineRunner调用jobLauncher.run()方法启动job

4. 同步执行job

5. 抽象类AbstractJob调用子类SimpleJob的doExecute方法

7.  逐个执行job下所属的step

8.  委拖SimpleStepHandler执行step

9. 调用AbstractStep的execute方法

10.  调用TaskletStep的doExecute方法

11.  调用RepeatTemplate的executeInternal方法

12. 调用RepeatTemplate的getNextResult方法

13. 调用回调类StepContextRepeatCallback的doInIteration方法

14. 调用回调类StepContextRepeatCallback的doInChunkContext方法

15.  调用TaskletStep内部类ChunkTransactionCallback的doInTransaction方法

16. 调用Tasklet类的execute方法

17.  调用ChunkOrientedTasklet类的execute方法(reader,processor,wirter的本质是一个tasklet)

18.  调用SimpleChunkProvider类的doRead方法,将每一个itemadd到Chunk对象的items中

19.  调用processor的writer

20. 调用processor的writer


版权声明:本文为shaoyangdd原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。