与 Java FTP 客户端并行上传文件

Uploading files in parallel with Java FTP client

我使用 GPars 以与 ftp4j 客户端库并行的方式上传文件:

GParsPool.withPool {
            files.eachParallel { file -> ftpClient.upload(directory, stream)
}

但是,现在我只有 ftp4j 客户端无法正常工作的服务器 ELB 地址,所以我将客户端更改为 Apache Commons Net FTP 客户端,这不是线程安全的,因为其中我无法进行并行化。

有没有其他FTP库支持并行化和远程验证false(支持elb)??

或者,我需要在服务器端做一些事情(elb 配置),这样我就不需要更改 ftp 客户端??

您不能通过一个 FTP 连接并行上传多个文件。您使用的 FTP 库是什么以及它是否是线程安全的都没有关系。协议本身不允许这样做。

即使它做到了(例如 SFTP 做到了),它也不会给您带来任何性能优势。

您必须为每个线程打开一个单独的连接。