fix: HikariMonitorConfig 空指针异常修复

- 添加 HikariPoolMXBean 空值检查
- 连接池未初始化时跳过监控,避免 NullPointerException
This commit is contained in:
zhangjf 2026-02-19 18:12:18 +08:00
parent 10eca3fb35
commit 39db7c8b7a

View File

@ -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());
}