From 77c7d6c5d64a3f52dfccd1828ae900f8de54a7df Mon Sep 17 00:00:00 2001 From: yukaidi Date: Fri, 29 May 2026 00:53:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20ShutdownHook=20=E4=B8=AD=20JDBCPoolInit.?= =?UTF-8?q?instance()=20=E6=B7=BB=E5=8A=A0=20null=20=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=EF=BC=8C=E9=98=B2=E6=AD=A2=E6=9C=AA=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E6=97=B6=20NPE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 安装引导模式下数据库可能未配置,JDBCPoolInit.instance() 为 null,直接调用 close() 会 NPE。 --- core/src/main/java/cn/qaiu/vx/core/Deploy.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 7543db1..1a1ffaf 100644 --- a/core/src/main/java/cn/qaiu/vx/core/Deploy.java +++ b/core/src/main/java/cn/qaiu/vx/core/Deploy.java @@ -149,7 +149,8 @@ public final class Deploy { } // 显式关闭 JDBC 连接池(vertx.close 不保证关闭 JDBCPoolInit 管理的 pool) try { - cn.qaiu.db.pool.JDBCPoolInit.instance().close(); + var poolInit = cn.qaiu.db.pool.JDBCPoolInit.instance(); + if (poolInit != null) poolInit.close(); } catch (Exception e) { LOGGER.warn("JDBC pool close error", e); }