Добрый день,
Я использую Spring интеграции 2.2 для сборки слушателя в папку.Могу ли я узнать, как я могу проверить, подхватит ли мой слушатель файл при передаче файла на полпути?Или он будет ждать, пока весь файл не будет передан?
Допустим, существует TXT-файл объемом 10 МБ, но из-за медлительности интернета для передачи файла в папку требуется 10 секунд.Допустим, на 5-й секунде, файл только передал 5 МБ, но осталось еще 5 МБ, возможно ли, чтобы слушатель взял файл и обработал?
Вот часть моего кода слушателя в xml:
<int-file:inbound-channel-adapter id="hostFilesIn" directory="${hostfile.dir.in}"
prevent-duplicates="true" filename-regex="${hostfile.in.filename-regex}">
<int:poller id="poller" fixed-rate="${poller.fixrate:15000}" max-messages-per-poll="1" />
</int-file:inbound-channel-adapter>
Дайте мне знать, если потребуется дополнительная информация.
Вот проблема, которая возникает:
Из журнала видно, что файл добавляется в очередь,
2019-02-01 11:13:33.011 [task-scheduler-9] DEBUG org.springframework.integration.file.FileReadingMessageSource - Added to queue: [/apps/NAS/ftp/in/incompleteL041.TXT]
После этого появляется следующая ошибка:
2019-02-01 11:13:33.096 [task-scheduler-9] DEBUG c.c.c.c.g.a.auditservice.SimpleErrorIdResolver - ERROR MESSAGE7 :
java.io.FileNotFoundException: /apps/NAS/ftp/in/incompleteL041.TXT (A file or directory in the path name does not exist.)
Это потому, что, когда файл завершит передачу, он переименует его в L041.TXT.
Пожалуйста, сообщите.