См. Описание команды LS
в Справочном руководстве :
Кроме того, предусмотрена фильтрация имен файлов так же, как и inbound-channel-adapter
.
Полезная нагрузка сообщения, полученная в результате операции ls, представляет собой список имен файлов или список FileInfo
объектов.Эти объекты предоставляют такую информацию, как измененное время, разрешения и т. Д.
Удаленный каталог, в котором действовала команда ls, указан в заголовке file_remoteDirectory
.
Чего вам не хватает вВаша конфигурация является фактом remote directory
для получения файлов.Обычно мы предлагаем иметь такой каталог в payload
, как вы делаете с вашим fichierExist(String filename)
, и настраиваете третий аргумент ctor для FtpOutboundGateway
:
FtpOutboundGateway ftpOutboundGateway =
new FtpOutboundGateway(ftpSessionFactory(), "ls", "payload");
В соответствии с логикой в FtpOutboundGateway
это выражение служит источником для удаленного каталога в команде LS
.В вашем случае это будет аргумент вашего fichierExist(String filename)
шлюза.
Вы действительно можете использовать FtpSimplePatternFileListFilter
, но не забудьте указать правильный шаблон для фильтрации удаленных файлов.
В конце имена удаленных файлов в запрошенном каталоге после фильтрации будут возвращены на ArrayList<String>
вашего шлюза.Правильно.
В противном случае ваш вопрос неясен.