@EnableIntegration
@Configuration
public class RtwEmploymentComplianceFlow {
@Bean
DefaultFtpSessionFactory rtwFtpFileSessionFactory() {
DefaultFtpSessionFactory sf = new DefaultFtpSessionFactory();
sf.setPort(21);
sf.setUsername("a-asdf");
sf.setPassword("asdf@123");
sf.setHost("asdf.ftp.org");
return sf;
}
@Autowired
TiffToPdfConverter tiffToPdf;
@Bean
public IntegrationFlow rtwFlow(
@Value("${rtw-input-directory}") File rtwFolder, DefaultFtpSessionFactory rtwFtpFileSessionFactory) {
GenericTransformer<File, Message<String>> pdfFileConverter = (File source) -> {
return MessageBuilder.withPayload("hello").setHeader(FileHeaders.FILENAME, source.getName().split("\\.")[0] + ".txt").build();
};
return IntegrationFlows
.from(Files.inboundAdapter(rtwFolder)
.autoCreateDirectory(true)
.preventDuplicates(true)
.patternFilter("*.tif"),
poller -> poller.poller(pm -> pm.fixedDelay(1000)))
.transform(File.class, pdfFileConverter)
.handle(Ftp.outboundAdapter(rtwFtpFileSessionFactory)
.remoteDirectory("Guru")
.useTemporaryFileName(false)
.fileNameGenerator(message -> {
Object o = message.getHeaders().get(FileHeaders.FILENAME);
String fileName = String.class.cast(o);
System.out.println("output FileName is: " + fileName);
return fileName;
})
)
.get();
}
}
Приведенный выше код начинает создавать файл sample.txt.writing на ftp-сайте, но его размер остается равным 0 КБ в течение примерно 15 секунд, а затем файл исчезает.
Нет исключений.
Не уверен, почему ftp не может полностью записать файл.Пожалуйста помоги.
Заранее спасибо.