2012-10-23 5 views
1

디렉토리에서 파일을 읽으려고합니다. 파일을 처리 할 수없는 경우 나중에 시도하도록 파일이 유지됩니다.max-messages-poll-poll = 10이고 prevent-duplicates = false 인 파일 읽기

<file:inbound-channel-adapter prevent-duplicates="false" id="fileInput" directory="file:${java.io.dir}/input-data" auto-create-directory="true" filter="compositeFileFilterBean"/> 

    <integration:poller id="poller" max-messages-per-poll="10" default="true" > 
     <integration:interval-trigger interval="60" time-unit="SECONDS" /> 
    </integration:poller> 

문제는 최대-메시지 당 여론 조사로 설정이 10 말한다면, 각 여론 조사는 1 개의 파일이있는 경우에도 정확히 10 개의 메시지를 반환 할 것이다 (모두 10 개의 메시지가 동일합니다 즉) .

답변

2

예, 해당 설정에서 예상되는 동작입니다.

내가 틀렸다고 생각하는 이유가 확실하지 않습니다.

필터에 의해 필터링되지 않은 파일 (예 : 중복을 방지하는 파일)이있는 경우 폴러에서 현재 폴 (최대 폴링 당 최대 폴링 수) 설문 조사가 1보다 큰 경우) 또는 다음 설문 조사에서.

원하는 것을 수행하려면 사용자 지정 필터가 필요합니다.이 필터는 이전에 60 초 폴링 간격 내에 발견 된 파일을 필터링합니다.