1

我在版本 2.2.4 的 grails 应用程序上使用了 jdbcpool 7.0.47。当我检查线程转储时,它显示许多“MySQL 语句取消计时器”处于等待状态。我也尝试将 jdbc 连接器移动到 tomcat/lib,但它开始给 mysql 带来一些日期问题。所以任何其他方式来杀死这些线程

4

2 回答 2

1

好的,评估连接池的所有参数, validationQueryTimeOut似乎导致了所有这些问题。删除该参数后一切正常。现在我的工作连接池属性是这样的

properties {
    initialSize=5
    maxActive=50
    minIdle=5
    maxIdle=25
    maxWait = 10000
    maxAge = 10 * 60000
    timeBetweenEvictionRunsMillis=5000
    minEvictableIdleTimeMillis=60000
    validationQuery="SELECT 1"
    validationInterval=15000
    testWhileIdle=true
    testOnBorrow=true
    testOnReturn=false
    jdbcInterceptors = "ConnectionState"
    defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED
}
于 2014-08-16T07:29:11.833 回答
-1

我的程序不使用池,我也遇到过这个问题。

我的解决方法是将 MySQL 连接器从 5.1.6 更新到 5.1.35,并在程序结束时关闭 SessionFactory,我没有这样做。

于 2015-04-26T08:27:37.137 回答