2012-08-01 3 views
5

spring batch docs에 따라 재시작 문제로 인해 MuliResourceItemReader를 사용하지 않는 것이 좋으며 각 폴더에 하나의 파일을 사용하는 것이 좋습니다.일괄 처리 FlatFileItemReader가 복수 파일을 읽음

는 "다시 시작할 때 어떤 ItemReader와 마찬가지로, (이 경우에는 파일)을 추가로 입력 을 추가하는 것은 잠재적 인 문제가 발생할 수 있음을 유의해야한다. 는 배치 작업이 자신의 개인 디렉토리 작업을 권장합니다 성공적으로 완료 될 때까지. "

나는 FlatFileItemReader이 경로에있는 각 폴더에 대한 패턴으로 파일을 읽을 구성 할 방법

file2.txt, 구조 이명 령/< timestamp> /file1.txt을 다음의 폴더가있는 경우.

답변

3

디렉토리를 폴링하는 스프링 배치 프레임 워크의 비즈니스가 아니므로 디렉토리에서 파일을 읽는 프로젝트를 선호합니다. Spring Integration 프로젝트입니다.

가장 기본적인 시나리오에서, Spring Integration은 디렉토리의 파일들을 폴링 할 것이고 각 파일에 대해 파일 이름을 매개 변수로 사용하여 작업을 실행할 것입니다. 그러면 배치 작업의 파일 폴링 논리가 생략됩니다.

이 두 기술을 통합하는 기본 개념은 excellent article에 의해 Dave Syer으로 제안해야합니다. 이 어댑터의 FileToJobLaunchRequestAdapter

Source code을 다루는 섹션을 자세히 살펴보십시오.

+0

고마워, 그것을 확인합니다 – user373201