From 868fa5df6dfce41333a24f8e5f752b9aaa2fb695 Mon Sep 17 00:00:00 2001 From: liukang <644012909@qq.com> Date: Wed, 5 Mar 2025 00:13:22 +0800 Subject: [PATCH] =?UTF-8?q?httpclient=20=E5=A4=8D=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ruoyi/web/task/RyTask.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/task/RyTask.java b/ruoyi-admin/src/main/java/com/ruoyi/web/task/RyTask.java index 7010215..8ed2542 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/task/RyTask.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/task/RyTask.java @@ -273,6 +273,8 @@ public class RyTask { List req = new ArrayList<>(); ExecutorService executorService = Executors.newFixedThreadPool(100); HttpClient client = HttpClient.newHttpClient(); + // 创建一个请求列表 + List> futures = new ArrayList<>(); for (Apply a : applies) { // 准备JSON负载 @@ -310,12 +312,20 @@ public class RyTask { // 发起异步请求,但不等待结果 CompletableFuture future2 = client.sendAsync(r.getRequest(), HttpResponse.BodyHandlers.ofString()) .thenApplyAsync(HttpResponse::body, executorService); - future2.thenAccept(response -> { - log.info(response); - }); + futures.add(future2); } + // 等待所有请求完成 + CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join(); + // 输出所有请求的响应(可选) + for (CompletableFuture future : futures) { + try { + log.info(future.get()); + } catch (Exception e) { + log.error(e.getMessage()); + } + } // 关闭线程池 executorService.shutdown();