1. Step이란? - Batch Job을 구성하는 독립적인 하나의 단계로서 실제 배치 처리를 정의하고 컨트롤하는데 필요한 모든 정보를 가지고 있는 도메인 객체 - 모든 Job은 하나 이상의 step으로 구성됨 2. 기본 구현체 1) Tasklet - 가장 기본이 되는 클래스로서 Tasklet 타입의 구현체들을 제어 2) PartitionStep - 멀티 스레드 방식으로 Step을 여러 개로 분리해서 실행 3) JobStep - Step 내에서 Job을 실행 4) FlowStep - Step 내에서 Flow를 실행 3. StepExecution - Step에 대한 한번의 시도를 의미하는 객체로서 Step 실행 중에 발생한 정보들을 저장하는 객체 - Step이 매번 시도 될 때마다 각 Step별로 생성 -..
스프링 배치를 시작하기 위해서 Job, Step, tasklet 등 기본적인 용어가 무엇을 의미하는 것인지 알아야 할 필요가 있는데 해당 게시물에서는 Job에 대해서 알아보겠습니다. 1. Job Job은 배치의 전반적인 프로세스를 관리하는 엔티티입니다. Job은 아래와 같은 계층 구조를 가지고 있으며 가장 최상위 계층에 존재합니다. Job Configuration을 통해 생성되는 객체 단위로서 배치작업을 어떻게 구성하고 실행할 것인지 전체적으로 설정하고 명세해놓은 객체를 말합니다. 2. JobInstance Job이 실행될 때 생성되는 Job의 논리적 실행 단위 객체로서 고유하게 식별 가능한 작업 실행을 나타냅니다. Job의 설정과 구성은 동일하지만 Job이 실행되는 시점에 처리하는 내용은 다릅니다. 즉..
1. 스프링 배치? 스프링 배치는 일괄처리를 위한 오픈 소스 프레임워크입니다. 즉, 비즈니스 운영을 수행하기 위해 대용량 처리가 필요한 경우 스프링 배치를 이용할 수 있습니다. 이런 대용량 처리에는 다양한 예시가 있습니다. - 월말 계산과 같은 시간 기반 이벤트 - 하루 100만 개의 통계를 내어야 하는 작업 - 매일 1000개의 데이터를 DB에 Insert 해야 하는 작업 등 위의 세 가지 예시뿐만 아니라 그 외에도 다양하게 대용량 처리가 필요할 경우 스프링 배치를 이용할 수 있습니다. 2. 스프링 배치 아키텍처 스프링 배치는 이 세 가지의 구성 요소 아키텍처를 가지고 있습니다. 1) Application -> 개발자가 만든 모든 배치 Job과 사용자 정의 코드가 포함되어 있습니다. -> 개발자는 비즈..
스프링 배치는 실행 및 관리의 목적으로 여러 도메인들의 정보들을 저장, 업데이트, 조회할 수 있는 스키마를 제공해줍니다. 그렇기 때문에 DB와 연동할 경우 필수적으로 메타 테이블이 생성되어야 하기 때문에 필수적으로 스키마를 생성해줘야 합니다. 해당 DB 스키마는 스크립트 형태로 제공되기 때문에 사용하시는 데이터베이스에 맞는 것을 찾아 생성해주면 됩니다. 파일 위치 : /org/springframework/batch/core/schema-*.sql 인텔리제이를 사용할 경우 shift 두 번 클릭해 'schema-(사용하는 DB)'로 검색하시면 원하는 DDL 스크립트를 쉽게 찾으실 수 있습니다. 저 같은 경우 mysql을 사용하기 때문에 schema-mysql.sql 스크립트를 이용해 스키마를 생성해줬습니다..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.