728x90
다양한 Job Parameter 타입
4.x 버전까지는 4개의 Type(Long, Double, String, Date)만을 지원했다.
5.0부터는 JobParameter를 커스텀해서 사용할 수 있다.
아래는 Spring Batch 5.0 변경 관련 문서에서 Job Parameter의 달라진 구현 부분이다.
---public class JobParameter implements Serializable {
+++public class JobParameter<T> implements Serializable {
--- private Object parameter;
+++ private T value;
--- private ParameterType parameterType;
+++ private Class<T> type;
}
코드를 보면 제네릭 타입이 추가되었다.
또한 위 타입 변경으로 인한 BATCH_JOB_EXECUTION_PARAMS
테이블도 업데이트 되었다.
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
JOB_EXECUTION_ID BIGINT NOT NULL ,
--- TYPE_CD VARCHAR(6) NOT NULL ,
--- KEY_NAME VARCHAR(100) NOT NULL ,
--- STRING_VAL VARCHAR(250) ,
--- DATE_VAL DATETIME(6) DEFAULT NULL ,
--- LONG_VAL BIGINT ,
--- DOUBLE_VAL DOUBLE PRECISION ,
+++ PARAMETER_NAME VARCHAR(100) NOT NULL ,
+++ PARAMETER_TYPE VARCHAR(100) NOT NULL ,
+++ PARAMETER_VALUE VARCHAR(2500) ,
IDENTIFYING CHAR(1) NOT NULL ,
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
);
기본 작업 매개변수 변환
5.0 이전 JobParameter
표기법은 아래와 같다.[+|-]parameterName(parameterType)=value
5.0에서는 2가지 표기법을 사용할 수 있는데 기본 표기법은 아래와 같다.
기본 표기법
parameterName=parameterValue,parameterType,identificationFlag
확장 표기법 (JSON 형식으로 표현이 가능하다.)
parameterName='{"value": "parameterValue", "type":"parameterType", "identifying": "booleanValue"}'
REFERENCE
'스프링 배치 5.0' 카테고리의 다른 글
스프링 배치 5.0 - 스프링 배치란 (1) (0) | 2023.07.05 |
---|---|
스프링 배치 5.0 바뀐점 - Job & Step 생성하는 클래스 (0) | 2023.05.06 |
스프링 배치 5.0 (2023) (0) | 2023.05.06 |