diff --git a/oss-service/src/main/java/cn/axzo/oss/service/impl/FileServiceImpl.java b/oss-service/src/main/java/cn/axzo/oss/service/impl/FileServiceImpl.java index d35afbd..0492d54 100644 --- a/oss-service/src/main/java/cn/axzo/oss/service/impl/FileServiceImpl.java +++ b/oss-service/src/main/java/cn/axzo/oss/service/impl/FileServiceImpl.java @@ -357,10 +357,11 @@ public class FileServiceImpl implements FileService { private void asyncSaveFile(List resList) { List> completableFutures = new ArrayList<>(resList.size() / 10 + 1); - Lists.partition(resList, 10) - .forEach(findFileKeyResponses -> completableFutures.add(CompletableFuture.runAsync( - () -> findFileKeyResponses.forEach(response -> saveFile(response)) + Lists.partition(resList, 10).forEach(findFileKeyResponses -> + completableFutures.add(CompletableFuture.runAsync(() -> + findFileKeyResponses.forEach(response -> saveFile(response)) ))); + CompletableFuture.allOf(completableFutures.toArray(new CompletableFuture[0])).join(); } private File saveFile(FindFileKeyResponse response) {