我在grails 2.2.4版的grails应用程序上使用了jdbcpool 7.0.47。当我检查线程转储时,它显示了许多"MySQL语句取消定时器“处于等待状态。我还尝试将jdbc连接器移动到tomcat/lib,但它开始给mysql带来一些日期问题。所以任何其他方法都可以杀死那些线程
发布于 2014-08-16 07:29:11
好的,对连接池的所有参数进行评估,似乎是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
}发布于 2015-04-26 08:27:37
我的程序不使用池,我也经历过这个问题。
我的修正是将MySQL连接器从5.1.6更新到5.1.35,并在程序结束时关闭SessionFactory,而我并没有这么做。
https://stackoverflow.com/questions/25264535
复制相似问题