노트코드 2022. 7. 8. 01:11

특징

  • Batch Job을 구성하는 독립적인 하나의 단계
  • 입력과 처리 그리고 출력과 관련된 복잡한 비즈니스 로직을 포함하는 모든 설정들을 담고 있음
  • 배치 작업을 어떻게 구성하고 실행할 것인지 Job의 세부 작업을 Task 기반으로 설정하고 명세해 놓은 객체
  • 모든 Job은 하나 이상의 Step으로 구성

구현체

  • TaskletStep
    • 가장 기본이 되는 클래스(직접 생성한 Tasklet 실행, ChunkOrientedTasklet을 실행)
  • ParitionStep
    • 멀티 스레드 방식으로 Step을 여러개로 분리해서 실행
  • JobStep
    • Step 내에서 Job을 실행하도록 한다(Step에서 Job을 실행)
  • FlowStep
    • step 내에서 Flow를 실행하도록 한다(Step에서 Flow를 실행)

Job(execute())  =>  Step(execute())  => Tasklet (itemReader, ItemProcessor, ItemWriter)

Job이 Step을 실행시키고(Step은 여러개 일 수 있다.그리고 각Step은 독립적), Step은 각 Tasklet을 실행시킨다. Tasklet은 ItemReader와, ItemProcessor, ItemWriter로 구성됨