오류 허용 단계(ThresholdBatchStep) 구현

오류 허용 일반 일괄처리 단계는 입력 하나, 출력 스트림 하나 및 오류 스트림 하나에 대해 작업합니다. 일괄처리 루프의 각 반복 동안 이 단계는 일괄처리 데이터 스트림(BDS) 입력 스트림에서 단일 항목을 읽고 처리를 위해 BatchRecordProcessor 특성에 전달합니다.

시작하기 전에

BatchRecordProcessor 특성은 유효한 데이터 오브젝트 또는 허용 가능한 오류에 있는 널값을 리턴할 수 있습니다. 리턴값이 널인 경우, 입력 스트림에서 읽은 레코드가 오류 스트림에 로그되고 ThresholdPolicy 인터페이스에서 invalidRecordEncountered 메소드가 호출됩니다. 임계값 정책이 오류 허용 임계값에 도달했는지 여부를 판별합니다. 도달한 경우 STEP_CONTINUE_FORCE_CHECKPOINT_BEFORE_PROCESSING_CANCEL을 리턴하는데, 이것은 체크포인트를 강제 실행하고 작업을 재시작 가능 상태에 둡니다. 그렇지 않으면 작업은 정상적으로 계속합니다. BatchRecordProcessor.processRecord가 리턴하는 데이터가 유효한 경우 데이터가 BDS 출력 스트림으로 전달됩니다.

이 태스크 정보

오류 허용 단계를 구현하려면 다음 특성을 사용하십시오.

표 1. 필수 특성. 표에는 특성 이름, 값 및 설명이 포함되어 있습니다.
특성 이름 설명
threshold_policy Java 클래스 이름 com.ibm.websphere.batch.devframework.thresholdpolicies.ThresholdPolicy 인터페이스를 구현하는 클래스
BATCHRECORDPROCESSOR Java 클래스 이름 BatchRecordProcessor 인터페이스를 구현하는 클래스
표 2. 선택적 특성. 표에는 특성 이름, 값 및 설명이 포함되어 있습니다.
특성 설명
debug true 또는 false(기본값은 false) 단계에서 추적 및 디버깅 사용 설정
EnablePerformanceMeasurement true 또는 false(기본값은 false) 단계 내에서 사용되는 측정 시간

프로시저

  1. com.ibm.websphere.batch.devframework.steps.technologyadapters.BatchRecordProcessor 인터페이스를 구현하여 단계에 대한 비즈니스 로직을 제공하십시오.

    단계에 대한 xJCL에서, 인터페이스의 구현으로 설정된 값을 갖는 BATCHRECORDPROCESSOR 특성을 선언하십시오. 예를 들어 다음과 같습니다.

    ...
    <props>	 
    	<prop name="BATCHRECORDPROCESSOR"
        value="com.ibm.websphere.batch.samples.tests.steps.InfrastructureVerificationTest"/>
    </props>
    ...    
  2. com.ibm.websphere.batch.devframework.thresholdpolicies.ThresholdPolicy 인터페이스를 구현하여 단계에 대한 임계값 정책을 제공하십시오. 또한 com.ibm.websphere.batch.devframework.thresholdpolicies.PercentageBasedThresholdPolicy 또는 com.ibm.websphere.batch.devframework.thresholdpolicies.RecordBasedThresholdPolicy 같은 제품 구현을 사용할 수도 있습니다.

    다음 코드 스니펫에서 보는 것처럼 xJCL에서 사용할 ThresholdPolicy를 선언하십시오.

    ...  
    <props>	 
    	 <prop name="threshold_policy"
        value="com.ibm.websphere.batch.devframework.thresholdpolicies.PercentageBasedThresholdPolicy"/>  
    </props>
    ...  
  3. BDS 입력 스트림 논리 이름을 inputStream으로, BDS 출력 스트림 논리 이름을 outputStream으로, 오류에 대한 BDS 출력 스트림을 errorStream으로 설정하십시오.

    논리 이름은 xJCL에서 선언됩니다. 예를 들어 다음과 같습니다.

    <batch-data-streams>
       <bds>
    	<logical-name>inputStream</logical-name>
    	<props>
            .... 
       </bds>
        <bds>
    	<logical-name>outputStream</logical-name>
    	<props>
    	...
        </bds>
        <bds>
    	<logical-name>errorStream</logical-name>
    	<props>
    	...
         </bds>
    </batch-data-streams>
  4. 패키징을 위해 BatchPackager를 사용하는 동안, jobstepclass 작업 단계 클래스에 대한 애플리케이션이 com.ibm.websphere.batch.devframework.steps.technologyadapters.ThresholdBatchStep로 설정되어야 합니다. 예를 들어,

    WebSphere Extended Deployment Compute Grid 버전 6.1.1 사용:

    ejbname.1=IVTStep1
    jndiname.1=ejb/MyThresholdBatchStep
    jobstepclass.1=com.ibm.websphere.batch.devframework.steps.technologyadapters.ThresholdBatchStep

    WebSphere Extended Deployment Compute Grid 버전 8.0 사용:

    ...
    <job-step name="Step1">
    <classname>com.ibm.websphere.batch.devframework.steps.technologyadapters.ThresholdBatchStep</classname>
    ...

주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tgrid_cgerrant
파일 이름:tgrid_cgerrant.html