Spring batch Writer для записи файлов непосредственно на ftp-сервер,



Я использую spring batch для чтения,обработки, записи и создания файлов непосредственно из расположения FTP.
Я мог бы в состоянии читать файлы, используя ниже configration.



<bean id="cvsFileItemReader2" class="org.springframework.batch.item.file.FlatFileItemReader">
<!-- Read a csv file -->
<property name="resource"
value="ftp://user123:[email protected]/Ftpfiles/it/se/dev/expfiles/ABEXCEP.CSV"/>


Но то же самое я пытаюсь написать, используя FlatFileItemWriter uaing ниже config



<bean class="org.springframework.batch.item.file.FlatFileItemWriter">
<property name="resource" value="ftp://user123:[email protected]/Ftpfiles/it/se/dev/expfiles/ABFIXED.TXT" />


Получение следующего исключения



java.io.FileNotFoundException:
URL [ftp://user123:[email protected]/Ftpfiles/it/se/dev/expfiles/ABFIXED.TXT]
cannot be resolved to absolute file path because it does not reside in the file system:
ftp://user123:[email protected]/Ftpfiles/it/se/dev/expfiles/ABFIXED.TXT
at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:205)


Ценю любую помощь в этом вопросе.. Спасибо

586   4  

4 ответов:

Я думаю, что вы не можете создать удаленный FTP Resource. Одно из решений состоит в использовании Spring Batch для создания файла, затем вы можете использовать Spring Integration S FTP/FTPS Adapters для передачи сгенерированного файла на FTP-сервер.

Надежда может помочь вам.

- Спрингс орг.springframework.ядро.Ио.Ресурс имеет суб-интерфейс, который называется org.springframework.ядро.Ио.WritableResource, для которых только реализации что я нашла: FileSystemResource и FileSystemContextResource. Поэтому невозможно писать прямо на ftp. То, что вы можете сделать, это записать локально на диск и записать тасклет, который загружается с диска на ftp.

Используйте spring-integration для этого типа задания (см. Этот пример) для дальнейшего объяснения

Используйте Tasklet для отправки файла через sftp. См. эту ссылку , Ссылка для получения дополнительной информации / кодирования для этого.

Comments

    Ничего не найдено.