Camel如何使用多线程处理文件

vdgimpew  于 2022-11-23  发布在  Apache
关注(0)|答案(1)|浏览(106)

我在同一个目录下有许多文件。这些文件不依赖于其他文件。
下面是我的代码:

from("sftp://${sftp.username}:${sftp.password}@${sftp.host}:${sftp.port}/myDirectory?" +
            "readLock=changed&readLockMinAge=10s&autoCreate=true" +
            "&move=finish/$simple{date:now:yyyyMMdd}/$simple{file:onlyname}" +
            "&moveFailed=failed/$simple{date:now:yyyyMMdd}/$simple{file:onlyname}")
            .threads(5,20)
            .keepAliveTime(20)
            .process(parseTypeProcessor)
            .process(uploadToOSSProcessor)
            .process(saveImgProcessor)
            .end();

但它并不是使用5个线程从目录myDirectory下载5个文件并同时处理5个文件,而是使用单个线程处理文件。
使用单线程处理文件太慢了。我想使用多线程处理这些文件。有什么方法可以做到这一点吗?任何帮助都将不胜感激

相关问题