diff --git a/core/src/main/java/cn/qaiu/vx/core/Deploy.java b/core/src/main/java/cn/qaiu/vx/core/Deploy.java index 0775c9f..1645751 100644 --- a/core/src/main/java/cn/qaiu/vx/core/Deploy.java +++ b/core/src/main/java/cn/qaiu/vx/core/Deploy.java @@ -43,7 +43,6 @@ public final class Deploy { private Handler handle; private Thread mainThread; - private Vertx mainVertx; public static Deploy instance() { return INSTANCE; @@ -138,13 +137,16 @@ public final class Deploy { vertxOptions.getWorkerPoolSize()); var vertx = Vertx.vertx(vertxOptions); VertxHolder.init(vertx); - this.mainVertx = vertx; // 注册 ShutdownHook,确保进程退出时优雅关闭资源 Runtime.getRuntime().addShutdownHook(new Thread(() -> { LOGGER.info("JVM shutting down, closing Vert.x..."); - vertx.close().onComplete(ar -> - LOGGER.info("Vert.x closed: {}", ar.succeeded() ? "success" : ar.cause().getMessage())); + try { + vertx.close().toCompletionStage().toCompletableFuture().get(10, java.util.concurrent.TimeUnit.SECONDS); + LOGGER.info("Vert.x closed successfully"); + } catch (Exception e) { + LOGGER.warn("Vert.x close error or timeout", e); + } })); //配置保存在共享数据中 var sharedData = vertx.sharedData(); diff --git a/parser/src/main/java/cn/qaiu/util/JsExecUtils.java b/parser/src/main/java/cn/qaiu/util/JsExecUtils.java index 6ae420f..453a294 100644 --- a/parser/src/main/java/cn/qaiu/util/JsExecUtils.java +++ b/parser/src/main/java/cn/qaiu/util/JsExecUtils.java @@ -62,7 +62,7 @@ public class JsExecUtils { /** - * 调用执行js文件(复用已缓存的引擎实例,避免每次创建) + * 调用执行js文件(使用缓存的 ScriptEngineManager 创建新引擎实例) */ public static Object executeOtherJs(String jsText, String funName, Object ... args) throws ScriptException, NoSuchMethodException {