2015-04-28 2 views
1

У меня есть очень простой пользовательский фильтр для входящего адаптера канала sftp, где я просто проверяю, включено ли расширение файла в списке принятых или нет. Если это так, он возвращает true и должен разрешить обрабатывать этот файл.встроенный фильтр адаптера канала sftp не принимает тот же файл снова

Что происходит, когда файл обрабатывается, он отлично работает. если тот же самый файл удаляется на моем sftp-сервере, он приходит на фильтрацию и возвращает true, что означает, что файл принят, но он не помещает это сообщение в очередь ниже по потоку. Вот мой пример конфигурации выглядит

<int-sftp:inbound-channel-adapter id="sftpAdapter" 
 
\t \t \t channel="ftpChannel" 
 
\t \t \t session-factory="sftpSessionFactory" 
 
\t \t \t local-directory="c:\\temp" 
 
\t \t \t remote-directory="//test//inbound" 
 
\t \t \t remote-file-separator="/" 
 
\t \t \t auto-create-local-directory="true" 
 
\t \t \t delete-remote-files="true" 
 

 
\t \t \t filter="customfilter" 
 
\t \t \t preserve-timestamp="true" 
 
\t \t \t > 
 
\t \t 
 
\t \t <int:poller cron="0/5 * * * * *" max-messages-per-poll="1"/> 
 
\t </int-sftp:inbound-channel-adapter>

+0

Вы пытались сделать сохранение-timestamp = "false" –

ответ

1

Это потому, что есть еще один FileListFilter в AbstractInboundFileSynchronizingMessageSource:

private volatile FileListFilter<File> localFileListFilter = new AcceptOnceFileListFilter<File>(); 

Поскольку вы гарантировать duplicate логики с вашей filter="customfilter" вы должны настроить local-filter:

<int-sftp:inbound-channel-adapter id="sftpAdapter" 
      channel="ftpChannel" 
      .... 
      local-filter="acceptAllFileFilter"/> 

<bean id="acceptAllFileFilter" class="org.springframework.integration.file.filters.AcceptAllFileListFilter"/> 
+0

У меня есть аналогичная проблема, поскольку вопрос задан. Я попробовал ваше решение, настроив локальный фильтр, и он переходит в бесконечный цикл (опрос удаленного файла и создание полезной нагрузки сообщения, но не отправка его активатору нисходящего сервиса). – Abhilash

+0

Похоже на другую историю. Пожалуйста, начните новую нить SO. –

Смежные вопросы