【发布时间】:2021-04-04 11:40:22
【问题描述】:
我正在尝试遍历对象列表。但是我在下面的代码中尝试了太长时间,我想通过增加线程池使其现代和可扩展。
result.getObjectSummaries().parallelStream().forEach((objectSummary) -> {
if (objectSummary.getLastModified().after(dateBeforeMp)
&& objectSummary.getLastModified().before(threadStartDate)) {
String correlationId = UUID.randomUUID().toString() + "js" + UUID.randomUUID().toString();
if(1==loadFileToSnowFlake(appId, tenantId, objectSummary.getKey(), correlationId)) {
logger.info("File loaded for the tenantId {} and fileName: {} ", tenantId, objectSummary.getKey());
sendMessageToSQS(appId, tenantId, bucketName, objectSummary.getKey(), correlationId);
}
}
count.incrementAndGet();
});
我没有找到合适的方法来做到这一点。到目前为止,它运作良好。我的意图是 s3Object 在单个请求中列出 1000 个文件,我想将作业分配给 for 循环内的每个线程。
【问题讨论】:
标签: spring-boot java-8 stream aws-java-sdk