구현 해보는 기능
필수 기능
목표
Job
: Spring Batch에서 배치 작업을 정의하고 실행하기 위한 최상위 개념.
JobInstance
: Job 실행에 대한 실제 인스턴스.
JobExecution
: JobInstance의 실행에 대한 정보를 담고 있는 객체.
<aside> 💡 JobInstance 를 얻지 못하는 경우
잡을 처음 실행하면 새로운 JobInstance 및 JobExecution 을 얻게된다. 실행에 실패한 이후 재실행하면, 해당 실행은 여전히 동일한 파라미터로 실행된 잡이므로 새 JobInstance 를 얻지 못한다. 그 대신, 실제 실행을 추적하기 위한 새로운 JobExecution 을 얻게된다.
</aside>
JobRepository
: Spring Batch 내에서 Job 및 Step 실행 정보를 관리하는 데 사용.
Step
: Job 내에서 구체적인 배치 작업을 정의. 각 스텝은 Job을 구성하는 독립적인 작업 단위이다. Step에는 Tasklet, Chunk 기반으로 2가지가 있다.
Tasklet
: Step 내에서 특정 작업을 실행하고자 할 때 사용됩니다
Chunk
: Step 내에서 데이터 처리 단위를 정의하는 데 사용됩니다.
ItemReader
: Step에 사용될 데이터를 읽어오는 역할을 하는 인터페이스.
ItemProcessor
: Step에 의해 읽어들인 데이터에 대해 처리하는 인터페이스.
ItemWriter
: Step에서 처리된 데이터를 저장하는 역할을 하는 인터페이스.
StepExecution
: Step 실행에 대한 실제 실행을 의미