Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- optional
- kafka
- Functional Programming
- 함수형 프로그래밍
- orelse
- topic
- Clean Code
- Spring Security
- Authentication
- effective java
- signWith
- git cli
- consumer
- JWT
- 디자인패턴
- junit5
- TDD
- SpringBoot
- 싱글톤
- Stream
- Factory Method Pattern
- 카프카
- orElseGet
- 인텔리제이 단축키
- mokito
- Java
- thread
- producer
- Java8
Archives
- Today
- Total
goodbye
2. 스프링 배치 테이블 본문
스프링 배치 메타 메이터
- 스프링 배치 의 실행 및 관리를 위한 목적으로 여러 도메인들의 정보를 제공하느 스키마 제공
- 과거, 현재 실행에 대한 성공과 실패여부 관리 - 배치운영 리스크 발생시 대처
- DB와 연동할 경우 필수적으로 메타 테이블이 생성되어야 함
DB schema
- 파일 위치 : org.springframework/batch/core/schema-*.sql
스키마 생성 설정
- 수동 생성 : 쿼리 복사하여 직접 실행
- 자동 생성
- ALWAYS : RDBMS 설정되어 있을경우 내장 DB보다 우선하여 실행
- EMBEDDED : default - 내장DB일때만 자동으로 생성되며 실행
- NEVER : 스크립트 실행 X
BATCH_JOB_INSTANCE
- job이 실행될때 Job Instance 정보가 저장
- job name 과 job key를 키로 하여 하나의 데이터가 저장
- 동일한 job name과 job key 로 중복 저장될수 없다
JOB_INSTANCE_ID | 고유하게 식별할 수 있는 기본 키 |
VERSION | 업데이트 될때마다 1씩 증가 |
JOB_NAME | Job을 구성할때 부여하는 Job 이름 |
JOB_KEY | job_name과 job parameter를 합쳐서 해싱한 값을 저장 |
BATCH_JOB_EXECUTION
- job의 실행정보가 저장되며 job 생성, 시작, 종료시간, 실행상태, 메시지등을 관리
JOB_EXECUTION_ID JobExecution을 고유하게 식별할수 있는 키, JOB_INSTANCE와 1대 다 관계
JOB_EXECUTION_ID | JobExecution을 고유하게 식별할수 있는 키 JOB_INSTANCE와 1대 다 관계 |
VERSION | 업데이트 될때마다 1씩 증가 |
JOB_INSTANCE_ID | JOB_INSTANCE의 키 저장 |
CREATE_TIME | Execution이 생성된 시점을 Timestamp 형식으로 기록 |
START_TIME | Execution이 시작된 시점을 Timestamp 형식으로 기록 |
END_TIME | Execution이 종료된 시점을 Timestamp 형식으로 기록, job실행도중 오류가 발생해서 중단된경우 우 저장안될수 있다 |
STATUS | 실행 상태를 저장(Completed, Failed, Stopped) |
EXIT_CODE | 실행 종료 코드를 저장 |
EXIT_MESSAGE | Status가 실패일때 실패 원인등의 내용을 저장 |
LAST_UPDATED | 마지막 Excution 시점을 Timestamp 형식으로 기록 |
BATCH_JOB_EXECUTION_PARAMS
- job과 함께 실행되는 JobParameter 정보를 저장
JOB_EXECUTION_ID | Job Execution 식별키, Job Execution과는 일대다 관계 |
TYPE_ID | String, Long, Date, Double 타입정보 |
KEY_NAME | 파라미터 키 값 |
xxx_VAL | 파라미터 값 |
IDENTIFYING | 식별여부(TRUE, FALSE) |
BATCH_JOB_EXECUTION_CONTEXT
- Job의 실행시 상태정보, 공유 데이터를 직렬화(json type)해서 저장
- Step 간 서로 공유 가능
JOB_EXECUTION_ID | Job Execution 식별 키, Job Execution마다 각 생성 |
JOB_EXECUTION_ID | JOB의 실행 상태정보, 공유데이터 정보를 문자열로 저장 |
SERIALIZED_CONTEXT | 직렬화된 전체 컨텍스트 |
BATCH_SETP_EXECUTION
- Step의 실행정보가 저장
- 생성, 시작, 종료 시간, 실행상태, 메시지 등을 관리
BATCH_SETP_EXECUTION_CONTEXT
- Step의 실행도안 여러가지 상태정보, 공유 데이터를 직렬화(Json Type)해서 저장
- Step 별로 저장되며 Step간 서로 공유 할 수 없음
'Spring > Spring Batch' 카테고리의 다른 글
1. 스프링 배치 활성화 (0) | 2022.07.23 |
---|
Comments