Для входящего соединителя FTP в Mule не включен параметр автоматического удаления

У меня есть требование, например, входящий как FTP-компонент. Мне нужно обработать файл в FTP-коннекторе, и в то же время я не должен удалять файл, пока файл не будет полностью обработан.

В настоящее время файл удаляется, как только он потребляется.

<ftp:connector  name="FTPCommonConnector"  pollingFrequency="10000"  validateConnections="true" doc:name="FTP"> </ftp:connector>

Я пытаюсь использовать опцию delFile. Выдает ошибку, как показано ниже. Почему функция delFile не включена в FTP? Есть ли другой способ добиться этого? Пожалуйста помоги.

 <ftp:connector delFiles="false"   name="FTPCommonConnector"  pollingFrequency="10000"  validateConnections="true" doc:name="FTP"> </ftp:connector>

Ошибка

Caused by: org.xml.sax.SAXParseException: cvc-complex-type.3.2.2: Attribute 'delFiles' is not allowed to appear in element 'ftp:connector'.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) ~[?:?]

Заранее спасибо.


person star    schedule 02.11.2015    source источник


Ответы (1)


Вам нужно добавить глобальный элемент конфигурации. На вкладке «Дополнительно» вы можете выбрать опцию «Удалить файлы после обработки».

person JoostD    schedule 02.11.2015
comment
Я не хочу удалять файл, пока файл не будет успешно обработан. Я могу удалить его извне. Я пробовал упомянутый вами вариант. Чтобы не удалять файл, нужно использовать опцию move to Pattern <ftp:connector name="FTP" connectionTimeout="40000" pollingFrequency="1000" validateConnections="true" moveToPattern="#[message.inboundProperties['originalFilename']]" doc:name="FTP"></ftp:connector>. Но это дает ошибку, как показано ниже. Это проблема с версией jar. Я не уверен. Нужна помощь, подскажите. - person star; 03.11.2015
comment
java.io.IOException: не удалось переименовать файл datas.csv в datas.csv. Ошибка FTP: 550 на com.mulesoft.mule.transport.ftp.EEFtpMessageReceiver.postProcess(EEFtpMessageReceiver.java:66) ~[mule-transport-ftp-ee-3.7.2.jar:3.7.2]. - person star; 03.11.2015
comment
Actaullay я не хочу переименовывать по файлу и перемещать в другой каталог. Я просто хочу, чтобы когда мой поток брал файл для обработки, ему не нужно было удалять файл с FTP. Я могу удалить его извне. Но опция в FTP-коннекторах требует либо выбора Move to Pattern, либо move to Directory. Даже после использования move to Pattern выдает ошибку. Надеюсь, моя точка зрения понятна. - person star; 03.11.2015
comment
Может помочь другим. MoveTo Directory всегда указывает на RemoteDiercetory. Если вы хотите сохранить файл на FTP. Используйте MoveTo Directory=" yourSamePath" и перейдите к шаблону =#[message.inboundProperties['originalFilename']]. Это сохранить файл на FTP без удаления с тем же именем. - person star; 06.11.2015