From d1569195e46334351700fbce4e84b5ac1eb1ea0b Mon Sep 17 00:00:00 2001 From: yukaidi Date: Fri, 29 May 2026 07:22:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20AppMain=20=E6=B3=A8=E5=86=8C=20ShutdownH?= =?UTF-8?q?ook=20=E5=85=B3=E9=97=AD=20JDBCPoolInit=20=E5=92=8C=20JsParserE?= =?UTF-8?q?xecutor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 审查发现 9c3945f 因模块依赖问题回退了 ShutdownHook 中的清理逻辑, 导致 JDBCPoolInit 连接池和 JsParserExecutor WorkerExecutor 在进程退出时 无法被显式关闭。将清理逻辑移到 web-service 模块的 AppMain(可依赖所有模块)。 --- web-service/src/main/java/cn/qaiu/lz/AppMain.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/web-service/src/main/java/cn/qaiu/lz/AppMain.java b/web-service/src/main/java/cn/qaiu/lz/AppMain.java index 61bf631..bebaf76 100644 --- a/web-service/src/main/java/cn/qaiu/lz/AppMain.java +++ b/web-service/src/main/java/cn/qaiu/lz/AppMain.java @@ -38,6 +38,19 @@ public class AppMain { public static void main(String[] args) { // start Deploy.instance().start(args, AppMain::exec); + // 注册补充 ShutdownHook,关闭 core 模块无法直接依赖的资源 + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + try { + JDBCPoolInit.instance().close(); + } catch (Exception e) { + // ignore + } + try { + cn.qaiu.parser.customjs.JsParserExecutor.shutdownExecutor(); + } catch (Exception e) { + // ignore + } + })); } /**