Spring Batch/인프런 - 예제로 배우는 핵심 Spring Batch - 정리

Spring batch 강의 정리

달팽이포뇨 2023. 9. 19. 00:18

Inflearn MJ코딩 강사님의 [스프링 배치 입문] 예제로 배우는 핵심 Spring Batch 강의를 듣고 정리한 내용입니다.

 

Spring Batch - 여러 작업들을 모아서 특정 주기마다 한번에 처리해주는 역할 -> 대량의 데이터 일괄처리 - 업무 효율성 향상을 위한 필수적인 작업!

- 초당 수많은 처리 작업이 생기는데 이것을 모두 실시간으로 처리하기 어렵다!

예시: 이메일 쿠폰 발송, 가맹점 정산, 거래 명세서 생성, 추천 시스템 데이터 작업

 

Spring Batch로 작업이 필요한 이유

- 풍부한 기능, 일관성있는 코드, 기존 서비스가 스프링 프레임워크로 되어있는 경우 호환 가능

- 트랜잭션, 롤백 등의 기능도 구현이 되어있음

- 확장성에 유리

 

Spring Batch의 구조

JobRepository - 배치가 수행될 때, 메타 데이터 관리, 시작 시간, 종료 시간, 상태 등 정보 저장

JobLauncher - Job 시작하게 하는 역할 - Scheduling 처리할 때

Job - 하나의 배치 작업 -  ex. 이메일 발송 Job

Step - 세부적인 작업 내용 - Job 하나에 하나 이상의 Step - Step 하나는 ItemReader, ItemProcessor, ItemWriter 하나씩으로 구성 

 

유효성 검증: validator 추가

리스너 : listener 추가 - BeforeJob, AfterJob

 

Tasklet 처리 방식(간단한 거) & Chunk 처리 방식(ItemReader, ItemProcessor, ItemWriter)

출처: springjavatutorial.com