从头认识SpringBatch批处理框架---Chunk拦截器

Chunk操作中提供了丰富的拦截器机制,拦截器可以实现额外的控制能力,例如日志记录、任务跟踪、状态报告、数据传递等能力,

在SpringBatch的处理过程中,尽可能地保持业务的简单性,任何额外的处理需要在拦截器中进行功能实现

                                                               Chunk拦截器接口

 Chunk拦截器接口 功能说明
ChunkListener 批操作拦截器,主要操作:chunk执行前,chunk执行后
org.springframework.batch.core.ChunkListener
ItemProcessListener 处理器拦截器,主要操作:处理执行前,处理执行后,处理发生异常
org.springframework.batch.core.ItemProcessListener<T,S>
ItemReadListener 读操作拦截器,主要操作:读之前、读之后、读发生异常
org.springframework.batch.core.ItemReadListener<T>
ItemWriteListener 写操作拦截器,主要操作:写之前、写之后、写发生异常
org.springframework.batch.core.ItemWriteListener<T>
SkipListener 记录跳过拦截器,主要操作:读错误导致跳过时、写错误导致跳过时、处理错误导致跳过时
org.springframework.batch.core.SkipListener<T,S>
RetryListener 重试拦截器,主要操作:重试开始、重试结束、重试异常
org.springframework.batch.retry.RetryListener

 Chunk拦截器的作用域  :                              

     JobExecutionListener                           

   StepExecutionListener                       

         Tasklet                                           

         ChunkListner                                 

  ItemReadListener                                   

  ItemProcessListener

 ItemWriteListener


Chunk拦截器执行的先后顺序:

JobExecutionListener .beforeJob()

StepExecutionListener.beforeStep()

ChunkListener.beforeChunk()

ItemReadListener.beforeRead()

ItemReadListener.afterRead()

ItemProcessListener.beforeProcess()

ItemProcessListener.afterProess()

ItemWriteListener.beforeWrite()      

ItemWriteListener.afterWrite()

ChunListener.afterChunk()

StepExecutionListener.afterStep()

 JobExecutionListener .afterJob()                                  

你可能感兴趣的:(从头认识SpringBatch批处理框架---Chunk拦截器)