如何在spring批处理中使用sftp上传多个文件

9fkzdhlc  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(379)

我有8个文件,我想上传到一个ftp服务器使用sftp在 Spring 批处理。我无法配置tasklet,如果有人能告诉我怎么做的话。此外,文件名应与本地文件名保持相同。我刚到Spring,所以请帮帮我。

  1. @Configuration
  2. public class FTPSonfigurations {
  3. @Bean
  4. public DefaultSftpSessionFactory gimmeFactory(){
  5. DefaultSftpSessionFactory factory = new DefaultSftpSessionFactory();
  6. factory.setHost("");
  7. factory.setUser("");
  8. factory.setPassword("");
  9. return factory;
  10. }
  11. @Bean
  12. @ServiceActivator(inputChannel = "uploadfile")
  13. SftpMessageHandler uploadHandler(DefaultSftpSessionFactory factory){
  14. SftpMessageHandler messageHandler = new SftpMessageHandler(factory);
  15. messageHandler.setRemoteDirectoryExpression(new LiteralExpression("/upload/ "));
  16. return messageHandler;
  17. }
  18. }
  19. @MessagingGateway
  20. public interface UploadMessagingGateway {
  21. @Gateway(requestChannel = "uploadfile")
  22. public void uploadFile(File file);
  23. }
  24. public class MyTasklet implements Tasklet {
  25. @Override
  26. public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
  27. //What to do here???
  28. return null;
  29. }
  30. }
wfveoks0

wfveoks01#

只需将网关自动连接到tasklet并调用它。

  1. @Autowired
  2. UploadMessagingGateway gw;
  3. ...
  4. gw.uploadFile(file);

相关问题