home
자바
home
💿

DB 스키마 생성

강의명
스프링 배치
강의순서
4
과목
☕자바
수강상태
완료

1. 스프링 배치 메타 데이터

스프링 배치의 실행 및 관리를 위한 목적으로 여러 도메인들(Job, Step, JobParameters..)의 정보들을 저장, 업데이트, 조회할 수 있는 스키마 제공
과거, 현재의 실행에 대한 세부 정보, 실행에 대한 성공과 실패 여부 등을 관리함으로써 리스크 발생 시 빠른 대처 가능
DB와 연동할 경우 필수적으로 메타 테이블이 생성되어야함

2. DB 스키마 제공

파일 위치: /org/springframework/batch/core/schema-*.sql
DB 유형별로 제공

3. 스키마 생성 설정

수동 생성 - 쿼리 복사 후 직접 실행
자동 생성 - spring.batch.jdbc.initialize-schema 설정
ALWAYS
스크립트 항상 실행
RDBMS 설정이 되어 있을 경우 내장 DB보다 우선적으로 실행
EMBEDDED : 내장 DB일 때만 실행되며 스키마가 자동 생성됨. 기본값
NEVER
스크립트 항상 실행 안함
내장 DB일 경우 스크립트가 생성이 안되기 때문에 오류 발생
운영에서 수동으로 스크립트 생성 후 설정하는 것을 권장

Job 관련 테이블

BATCH_JOB_INSTANCE
Job이 실행될 때 JobInstance 정보가 저장되며 job_name과 job_key를 키로 하여 하나의 데이터를 저장
동일한 job_name과 job_key로 중복 저장될 수 없음
BATCH_JOB_EXECUTION
job의 실행정보가 저장되며 Job 생성, 시작, 종료시간, 실행상태, 메시지 등을 관리
BATCH_JOB_EXECUTION_PARAMS
Job과 함께 실행되는 JobParameter 정보를 저장
BATCH_JOB_EXECUTION_CONTEXT
Job의 실행동안 여러가지 상태정보, 공유 데이터를 직렬화(JSON 형태)해서 저장
Step 간 서로 공유 가능

Step 관련 테이블

BATCH_STEP_EXECUTION
Step의 실행정보가 저장되며 생성, 시작, 종료시간, 실행상태, 메시지 등을 관리
BATCH_STEP_EXECUTION_CONTEXT
Step의 실행동안 여러가지 상태정보, 공유 데이터를 직렬화(JSON 형태)해서 저장
Step 별로 저장되며 Step 간 서로 공유할 수 없음