Spring Batch에는 Chunk Model과 Tasklet Model이 있다.
- Chunk Model
- 큰 데이터를 분할해서 ItemReader --> ItemProcessor --> ItemWriter 순으로 처리가 필요한경우 유용
- Tasklet Model
- 청크의 단위가 딱 맞지 않을 경우 유용
- 예를 들어 한번에 하나의 레코드만 읽어서 써야하는 경우
Chunk Model
- 처리할 데이터를 일정 단위로 처리하는 방식
- ChunkOrientedTasklet 은 청크 처리를 지원하는 Tasklet의 구체적인 클래스 역할을 수행
- 청크에 포함될 데이터의 최대 레코드 수(청크 Size)
commit-interval 값으로 조정 가능
- ItemReader, ItemProcessor, ItemWriter 는 청크 단위를 처리하기 위한 인터페이스

- ChunkOrientedTasklet이 ItemReader, ItemProcessor, ItemWriter 구현체를 각각 호출
- 청크 단위에 따라서 반복실행
ItemReader ⇒ 청크 크기만큼 데이터를 읽어들이고 이를 ItemProcessor 로 넘김
ItemProcessor ⇒ 데이터를 처리
ItemWriter ⇒ ItemProcessor 를 처리하고 난 청크 단위가 전달됨. 이 데이터를 저장하거나 파일처리 수행
Item Processer
- Reader로 읽어들인 청크 데이터 처리
- 데이터 변환, 데이터 변경, 외부 인터페이스 호출 등…