Step
1 Spring Batch의 Step 구성 및 예외 처리 가이드
- Spring Batch에서 Step은 배치 처리의 핵심 단위입니다.
- 이 가이드에서는 Step의 기본 예외 처리 방식과 다양한 구성 옵션에 대해 자세히 설명합니다.
- 초보자도 이해할 수 있도록 최대한 상세하게 설명하겠습니다.
2 Spring Batch의 기본 예외 처리
- Spring Batch는 기본적으로 예외 발생 시 해당 Step을 실패 처리합니다.
- 예외가 발생하면 현재 처리 중인 청크(chunk)가 롤백되고 Step이 종료됩니다.
- 이는 데이터 무결성을 보장하기 위한 안전한 접근 방식입니다.
기본 예외 처리의 특징
- 모든 예외는 Step 실패의 원인이 됩니다.
- 청크 단위로 트랜잭션이 관리되므로, 예외 발생 시 해당 청크의 모든 처리가 롤백됩니다.
- Job은 실패한 Step에서 중단됩니다.
기본 구성 예시
@Bean
public Step step1(JobRepository jobRepository, PlatformTransactionManager transactionManager) {
return new StepBuilder("step1", jobRepository)
.<String, String>chunk(10, transactionManager)
.reader(itemReader())
.processor(itemProcessor())
.writer(itemWriter())
.build();
}
- 위 예시에서는 별도의 예외 처리 구성이 없으므로, 어떤 예외라도 발생하면 Step이 실패합니다.
3 Skip 로직 구성하기
- Skip 로직은 처리 중 발생하는 특정 오류를 무시하고 계속 진행하도록 설정하는 것입니다.
- 기본 예외 처리와 달리, 일부 예외를 허용하여 배치 작업을 계속 진행할 수 있게 합니다.