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 |