스프링 배치 기초
스프링 배치
1. 스프링 배치 개념
-
배치란 무엇인가
-
데이터를 일정 기간 또는 일정량을 기준으로 묶어서 처리하는 방식
-
즉, 일괄 처리하는 방식을 말한다.
-
스프링 배치란 무엇인가
-
앞서말한 배치 작업을 처리하기위해 필요한 구조와 기능들 스프링에서 제공하는 프레임워크
2. 스프링 배치 기능
-
배치 작업 모니터링
-
배치 작업 트랜잭션 관리
-
배치 작업 통계 정보 제공
-
배치 작업 시작, 재시작, 건너뛰기 등의 정책 설정
-
다양한 배치 실행 방법 지원
- Quartz, CommandLine, JMX 콘솔, OSGI, 동기/비동기 등등
3. 스프링 배치 주요 개념
-
Job
-
하나의 배치 작업을 정의하는 개념
-
Job Instance
-
Job의 실행에 대한 논리적인 개념을 의미
-
배치가 실제 실행되면, 각각의 실행을 Instance라고 한다.
-
예를 들어, 매주 1번씩 실행되는 배치 작업이 있다면 그 매주 실행되는 각각의 배치 작업을 Job Instance라고 한다.
-
동일한 Job Parameters를 가진 Job Instance는 생성할 수 없다.
-
-
Job Execution
-
배치 작업이 실행될 때, 실제로 수행된 Execution을 의미
-
예를 들어, 월요일 오전마다 수행되는 배치 작업이 있을 때, 첫 번째 배치 작업은 실패하고 두 번째에 재 시도하여 성공했다면, 두 번의 시도는 각각이 다른 Job Execution이고 같은 작업의 시도만 다를 뿐이니 Job Instance는 같다.
-
Job에 대한 실행 결과(Failed, Completed)를 가진다.
-
-
Job Parameter
- Job Instance가 실행될 때, 전달되는 파라미터를 의미
-
Step
-
Job에 대한 순차적인 처리 단계를 의미
-
Step Execution
-
한번의 Step 실행 시도를 의미
-
시작/종료 시간과 상태를 의미하는 속성들과 commit 속성, item 개수 속성을 가진다.
-
-
Item Reader
- Step의 처리 대상이 되는 데이터를 조회하는 역할
-
Item Processor
- Step의 Item Reader를 통해 전달된 하나의 아이템에 대한 비지니스 로직을 처리하는 역할
-
Item Writer
- Step의 처리 결과를 기록하는 역할
댓글
댓글 쓰기