jdbcpingquery mysql_java – 如何缓解连接com.mysql.jdbc.JDBC4Connection@11d08960触发的连接泄漏,...

我有一个mqtt客户端获取主题请求订阅,

然后我把它交给固定大小为50的线程池.

我使用hikaricp 2.4.2 for DB Pooling

MySQL数据库.

我目前正在使用2.4.2,这是我的设置

HikariConfig config = new HikariConfig();

config.setDataSourceClassName(CLASS_FOR_NAME);

config.setJdbcUrl(HOST);

config.setUsername(USER);

config.setPassword(PASS);

config.addDataSourceProperty("cachePrepStmts", "true");

config.addDataSourceProperty("prepStmtCacheSize", "250");

config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");

config.setLeakDetectionThreshold(TimeUnit.SECONDS.toMillis(30));

config.setValidationTimeout(TimeUnit.MINUTES.toMillis(1));

config.setMaximumPoolSize(10);

config.setMinimumIdle(0);

config.setMaxLifetime(TimeUnit.MINUTES.toMillis(2)); // 120 seconds

config.setIdleTimeout(TimeUnit.MINUTES.toMillis(1)); // minutes

config.setConnectionTimeout(TimeUnit.MINUTES.toMillis(5));

config.setConnectionTestQuery("/* ping */ SELECT 1");

下面是完整的日志消息:

WARNLOG:

811439 [Hikari housekeeper (pool HikariPool-0)] WARN

com.zaxxer.hikari.pool.ProxyLeakTask – Connection leak detection

triggered for connection com.mysql.jdbc.JDBC4Connection@11d0896, stack

trace follows java.lang.Exception: Apparent connection leak detected

at com.hcpdatabase.DataSource.getConnection(DataSource.java:69)

at com.database.AccessDatabase.create_alert(AccessDatabase.java:3849)

at com.runnable.StartTaskRunnable2.execute(StartTaskRunnable2.java:78)

这是正常的吗?我必须抓住这个吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值