From 886dcd039f78f746819bea60d7ba3128dd6304ac Mon Sep 17 00:00:00 2001 From: yukaidi Date: Fri, 29 May 2026 02:13:42 +0800 Subject: [PATCH] =?UTF-8?q?fix(web-service):=20DbServiceImpl=20Thread.slee?= =?UTF-8?q?p=20=E6=94=B9=E4=B8=BA=20vertx.setTimer=20=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E9=98=BB=E5=A1=9E=20event=20loop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sayOk() 中使用 Thread.sleep(4000) 会阻塞 Vert.x event loop 线程, 改为 vertx.setTimer 异步延迟完成 promise。 --- .../cn/qaiu/lz/web/service/impl/DbServiceImpl.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/web-service/src/main/java/cn/qaiu/lz/web/service/impl/DbServiceImpl.java b/web-service/src/main/java/cn/qaiu/lz/web/service/impl/DbServiceImpl.java index 0d1ee25..4d8584a 100644 --- a/web-service/src/main/java/cn/qaiu/lz/web/service/impl/DbServiceImpl.java +++ b/web-service/src/main/java/cn/qaiu/lz/web/service/impl/DbServiceImpl.java @@ -42,12 +42,11 @@ public class DbServiceImpl implements DbService { @Override public Future sayOk(String data) { log.info("say ok1 -> wait..."); - try { - Thread.sleep(4000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - return Future.succeededFuture(JsonObject.mapFrom(JsonResult.data("Hi: " + data))); + Promise promise = Promise.promise(); + cn.qaiu.vx.core.util.VertxHolder.getVertxInstance().setTimer(4000, id -> { + promise.complete(JsonObject.mapFrom(JsonResult.data("Hi: " + data))); + }); + return promise.future(); } @Override