【发布时间】:2020-04-08 15:52:05
【问题描述】:
我想通过 AWS Java SDK (aws-java-sdk-s3-1.11.66.jar) 的传输管理器将多个文件上传到 AWS S3 存储桶,所以我的功能在这里:
public static void uploadDirectory(String virtualDirectoryKeyPrefix, File directory) {
try {
MultipleFileUpload multipleFileUpload = instance.transferManager.uploadFileList(
instance.bucketName,
virtualDirectoryKeyPrefix,
directory,
Arrays.asList(Objects.requireNonNull(directory.listFiles())));
multipleFileUpload.waitForCompletion();
} catch (InterruptedException e) {
Logger.error("Not able to write to s3 bucket : " + virtualDirectoryKeyPrefix, e);
}
}
只有当我调用 'waitForCompletion' 方法并且它使我的函数同步时才起作用的问题,因为在这种情况下,我等到操作完成。我希望它必须在没有'waitForCompletion'调用的情况下工作,但它不是,你能帮我吗?谢谢。
【问题讨论】:
标签: java multithreading amazon-s3 aws-sdk