From 39db7c8b7a1a2cbe46017a7b3f671c81cdedab28 Mon Sep 17 00:00:00 2001 From: zhangjf Date: Thu, 19 Feb 2026 18:12:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20HikariMonitorConfig=20=E7=A9=BA=E6=8C=87?= =?UTF-8?q?=E9=92=88=E5=BC=82=E5=B8=B8=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 HikariPoolMXBean 空值检查 - 连接池未初始化时跳过监控,避免 NullPointerException --- .../sys/config/HikariMonitorConfig.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/fund-sys/src/main/java/com/fundplatform/sys/config/HikariMonitorConfig.java b/fund-sys/src/main/java/com/fundplatform/sys/config/HikariMonitorConfig.java index 8e69d11..9622ac6 100644 --- a/fund-sys/src/main/java/com/fundplatform/sys/config/HikariMonitorConfig.java +++ b/fund-sys/src/main/java/com/fundplatform/sys/config/HikariMonitorConfig.java @@ -32,12 +32,19 @@ public class HikariMonitorConfig { if (dataSource instanceof HikariDataSource) { HikariDataSource hikariDataSource = (HikariDataSource) dataSource; HikariConfigMXBean config = hikariDataSource.getHikariConfigMXBean(); + var poolMXBean = hikariDataSource.getHikariPoolMXBean(); + + // 检查连接池是否已初始化 + if (poolMXBean == null) { + log.debug("HikariCP 连接池尚未初始化,跳过监控"); + return; + } log.info("=== HikariCP 连接池状态 ==="); log.info("连接池名称: {}", config.getPoolName()); - log.info("活跃连接数: {}", hikariDataSource.getHikariPoolMXBean().getActiveConnections()); - log.info("空闲连接数: {}", hikariDataSource.getHikariPoolMXBean().getIdleConnections()); - log.info("等待获取连接的线程数: {}", hikariDataSource.getHikariPoolMXBean().getThreadsAwaitingConnection()); + log.info("活跃连接数: {}", poolMXBean.getActiveConnections()); + log.info("空闲连接数: {}", poolMXBean.getIdleConnections()); + log.info("等待获取连接的线程数: {}", poolMXBean.getThreadsAwaitingConnection()); log.info("最大连接数: {}", config.getMaximumPoolSize()); log.info("最小空闲连接数: {}", config.getMinimumIdle()); }