이 예제는 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자체가 시작 전과 후에 해당 메소드가 실행된다.
'Spring Batch' 카테고리의 다른 글
Spring Batch - JPA 데이터 읽기 (0) | 2022.12.26 |
---|---|
Spring Batch - csv 파일 읽기 (0) | 2022.12.26 |
Spring Batch - csv파일 쓰기 (0) | 2022.12.23 |
Spring Batch - JdbcCursorItemReader (0) | 2022.12.22 |
SpringBatch ChunkSize를 JobParameters 로 사용하기 (1) | 2022.12.19 |