使用jdbc池的Grails2.2.4中处于等待状态的MySQL语句取消计时器
我在grails应用程序2.2.4版上使用了jdbcpool 7.0.47。当我检查threaddump时,它显示很多MySQL语句取消计时器处于等待状态。我还尝试将jdbc连接器移动到tomcat/lib,但它开始给mysql带来一些日期问题。因此,任何其他杀死这些线程的方法好的,评估连接池的所有参数,似乎validationQueryTimeOut导致了所有这些问题。删除该参数后,一切正常。现在,我的工作连接池属性如下使用jdbc池的Grails2.2.4中处于等待状态的MySQL语句取消计时器,mysql,grails,mysql-connector,jdbc-pool,Mysql,Grails,Mysql Connector,Jdbc Pool,我在grails应用程序2.2.4版上使用了jdbcpool 7.0.47。当我检查threaddump时,它显示很多MySQL语句取消计时器处于等待状态。我还尝试将jdbc连接器移动到tomcat/lib,但它开始给mysql带来一些日期问题。因此,任何其他杀死这些线程的方法好的,评估连接池的所有参数,似乎validationQueryTimeOut导致了所有这些问题。删除该参数后,一切正常。现在,我的工作连接池属性如下 properties { initialSize=5 m
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
}
我的程序不使用池,我也遇到过这个问题 我的修复方法是将MySQL连接器从5.1.6更新到5.1.35,并在程序结束时关闭SessionFactory,但我没有这样做