2014-07-11 3 views
0

리더에서 잘못된 레코드를 건너 뛸 필요가있는 플랫 파일에서 데이터를 읽으려고합니다.일괄 처리 : 읽지 않은 레코드 건너 뛰기

어떻게 달성 할 수 있습니까?

문제점 : 유효하지 않은 레코드에 대해 T doRead() 메소드에서 null을 반환하면 거기에서 파일을 읽지 않습니다.

모든 도움을 주실 수 있습니다.

+0

일반적으로 프로세서에서 이러한 레코드를 건너 뜁니다. 그게 당신을위한 선택입니까? – reto

+0

Line mapper가 줄 길이와 일치하려고하면 부적절한 길이의 레코드를 얻을 수도 있습니다. 특정 행의 매핑을 건너 뛰는 작업을 수행 할 수 있습니까? 그것은 가능하지 않습니까? 그래서 라인 매퍼는 잘못된 레코드에 대한 작업을 수행 할 필요가 없습니다. 제발 제안 해주세요. – Bhavesh

+0

유효하지 않은 레코드 건너 뛰기는 무엇을 의미합니까? 비즈니스 논리 또는 유효하지 않은 구문/구조/레코드 순서로 인해 잘못 되었습니까? –

답변

0

이 문제를 해결하는 몇 가지 방법이 있습니다. 가장 일반적인 해결책은 thar 수를 잘못 설정할 수 있습니다. 따라서 청크를 구성 할 때 "건너 뛰기 제한"이라는 속성이 있습니다. 이 속성을 기본적으로 cero (0)로 설정하지 마십시오. 문제가 발생하고 있습니다. 예 :

<tasklet> 
<chunk reader="reader" writer="writer" commit-interval="20" skip-limit="500"> 
<skippable-exception-classes> 
<include class="org.springframework.batch.item.file.FlatFileParseException" /> 
</skippable-exception-classes> 
</chunk> 
</tasklet> 
관련 문제