1. JobRepository 개요
- Spring Batch는 엔터프라이즈급 배치 처리를 위한 강력하고 유연한 프레임워크입니다.
- 배치 작업의 실행 정보를 효과적으로 관리하고 추적하는 것은 매우 중요한데, 이를 위해 Spring Batch에서는 JobRepository를 제공합니다.
- JobRepository는 배치 작업의 실행에 관한 모든 정보를 저장하고 관리하는 핵심 구성 요소입니다.
1.1 JobRepository의 필요성
- 데몬처럼 끝없이 실행되는 작업이 아닌 언젠가 종료되는 처리를 UI 없이 독립 실행형으로 동작하도록 개발하는 것은 어렵지 않습니다.
- CommandLineRunner를 사용하여 비즈니스 로직이 포함된 단일 기능을 실행한 뒤 종료되는 스프링 부트 애플리케이션을 만들 수 있습니다.
- 이정도 작업에는 스프링 배치가 필요하지 않습니다.
- 그러나 문제는 진행 중인 작업의 상태를 추적하고, 실패한 작업을 재시작하며, 작업 실행 이력을 관리하는 것입니다.
- 엔터프라이즈 환경에서는 매우 중요한 요구사항입니다.
- 잡의 상태 관리 기능은 스프링 배치가 제공하는 주요 기능 중 하나입니다.
- 잡의 상태는 JobRepository에 저장되며, 이를 통해 배치 작업의 실행 이력을 관리할 수 있습니다.
1.2 JobRepository의 의미