일괄처리 작업 단계
일괄처리 애플리케이션의 태스크를 일괄처리 단계로 분리할 수 있습니다. 일괄처리 단계는 인터페이스 com.ibm.websphere.batch.BatchJobStepInterfance를 구현하는 POJO(Plain Old Java™ Object) 클래스로 구현됩니다. 일괄처리 작업 단계는 순차적으로 수행됩니다.
BatchJobStepInterface의 콜백 메소드를 사용하여 눈금 엔드포인트는 일괄처리 작업을 실행할 때 일괄처리 단계를 실행할 수 있습니다.
일괄처리 단계에는 일괄처리 작업의 일부에 대해 실행되는 일괄처리 가능한 비즈니스 로직이 포함됩니다. 일반적으로, 일괄처리 단계에는 일괄처리 데이터 스트림에서 레코드를 읽고, 그 레코드로 비즈니스 로직을 수행한 후 계속해서 다음 레코드를 읽기 위한 코드가 있습니다. 일괄처리 단계 클래스의 processJobStep 메소드는 일괄처리 루프의 눈금 엔드포인트에서 호출됩니다. 이 메소드에는 데이터에 대해 일괄처리로 수행할 수 있는 모든 논리가 포함되어 있습니다.
눈금 엔드포인트는 글로벌 트랜잭션에서 일괄처리 단계 클래스 메소드를 호출합니다. 이 글로벌 트랜잭션은 눈금 엔드포인트로 관리합니다. 트랜잭션 제한시간 또는 트랜잭션 커미트 간격과 같은 트랜잭션 작동은 단계가 속하는 일괄처리 작업과 연관되는 체크포인트 알고리즘이 제어합니다.
콜백 메소드 | 설명 |
---|---|
setProperties(java.util.Properties properties) | xJCL(XML Job Control Language)에 정의된 특성을 java.util.Properties 오브젝트에서 사용할 수 있도록 합니다. 이 메소드는 글로벌 트랜잭션에서 호출됩니다. |
void createJobStep() | 초기화된 단계를 표시합니다. 일괄처리 데이터 스트림의 핸들 검색과 같은 초기화 논리를 여기에 배치할 수 있습니다. 이 메소드는 글로벌 트랜잭션에서 호출됩니다. |
int processJobStep() | 이 메소드의 리턴 코드 정수에서 단계가 처리를 완료했음을 표시할 때까지 일괄처리 루프에서 눈금 엔드포인트가 반복적으로 호출합니다. 리턴할 수 있는 리턴 코드를 확인하려면 일괄처리 API에서 BatchConstants를 검토하십시오. BatchConstants.STEP_CONTINUE의 리턴 코드는 일괄처리 루프에서 계속 이 메소드를 호출함을 눈금 엔드포인트에 알립니다. BatchConstants.STEP_COMPLETE의 리턴 코드는 단계가 완료되었으며 destroyJobStep 호출을 눈금 엔드포인트에 표시합니다. |
int destroyJobStep() | 완료가 발생한 단계를 표시합니다. 이 메소드의 정수 리턴 코드는 임의적이므로 일괄처리 애플리케이션 개발자가 선택할 수 있습니다. 이 리턴 코드는 눈금 엔드포인트 데이터베이스에 저장되며 일괄처리 단계의 리턴 코드를 표시합니다. 결과 알고리즘이 일괄처리 작업과 연관될 경우, 이 리턴 코드가 전달됩니다. 일괄처리 작업의 xJCL에 리턴 코드 기반 조건부 논리가 있을 경우, 눈금 엔드포인트는 이 리턴 코드를 사용하여 해당 논리를 평가합니다. |
BatchJobStepInterface의 getProperties() 메소드는 현재 눈금 엔드포인트에서 호출되지 않습니다. 메소드는 균형을 위해 인터페이스에 포함되어 있으며 나중에 사용할 수 있습니다.