0
우리는 들어오는 폴더를 모니터링하고 파일을 처리하는 스프링 통합 응용 프로그램을 가지고 있습니다. 나는 prevent-duplicates = "true"를 사용하고 있었지만 false로 변경해야합니다. 나는 이유를 설명했다. file inbound-channel-adapter performance issue파일 인바운드 어댑터 동일한 파일을 처리하는 여러 스레드
이제 동일한 파일을 처리하는 여러 스레드가 표시됩니다. 도와 줘서 고맙다!
<file:inbound-channel-adapter id="inFiles" channel="inFilesin" directory="file:${incoming.folder}"
queue-size="300" filename-regex="(?i)^(?!.*writing)" prevent-duplicates="false" auto-startup="true" auto-create-directory="false" >
<int:poller id="fw.fileInboudPoller" fixed-rate="1" receive-timeout="3" time-unit="SECONDS"
max-messages-per-poll="10" task-executor="taskExecutor" />
</file:inbound-channel-adapter>
<task:executor id="taskExecutor" pool-size="10-20" queue-capacity="20" rejection-policy="CALLER_RUNS" />
감사합니다, 모한
게리, 도움 주셔서 감사합니다. 우리는 Rabbit을 사용하고 있습니다.이 모듈은 한 폴더에서 다른 폴더로 파일을 이동 한 다음 DB에 레코드를 만들고 Rabbit에게 메시지를 보내고 있습니다. – Mohan
맞아요.하지만 내 질문은 다른 질문입니다. "유지 관리를 위해 응용 프로그램이 작동하지 않는 경우 또는 들어오는 폴더가 업스트림 응용 프로그램에서 100K 개의 파일로 채워지는 경우." 업스트림 응용 프로그램에 파일 시스템 대신 토끼를 사용하는 것이 좋습니다. 파일의 데이터를 토끼 메시지에 포함시킬 여력이 없다면 파일 시스템에서 수만 개의 파일을 검색하는 대신 Rabbit을 사용하여 파일 존재 여부에 대한 알림을 보내십시오. –
좋은 지적이지만 Upstream 응용 프로그램은 다른 소스에서 파일을 수집하며 응용 프로그램은 보안상의 이유로 Rabbit 및 DB에 액세스 할 수 없습니다. – Mohan