Spring Batch

Spring batch - ChunkListener, StepListener

jaewoo 2022. 12. 28. 15:09

이 예제는 Chunk기준으로 Lsitener을 구현했다. 다른 Step, Job도 크게 구현하는게 다르지 않다

 

ChunkPracListener 클래스 작성

ChunkListener을 implement해서 구현해서 Step에 등록해주면 된다.

- beforeChunk  >> 정크 시작전

- afterChunk >> 정크 끝난 후

-  afterChunkError >>  에러날 경우

모두 ChunkContext를 매개변수로 받아서 StepExecution과 같이 Step 정보를 받아 활용할 수 도 있다.

Step에서 listener을 등로해주면 정상작동한다.

정크 사이즈가 10이므로 10번마다 위에서 설정한 before과 after가 실행되는 것을 볼 수 있다.

 

 

StepListener도 Step에서 등록하는데 같은 기능일까 하고 같은 방식으로 등록해봤다.

결과는 예상대로

 chunkListener는 chunkSize만큼 실행될때마다 실행되고 StepListener는 Step자체가 시작 전과 후에 해당 메소드가 실행된다.