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)
Ценю любую помощь в этом вопросе.. Спасибо
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