在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()