繁体   English   中英

在带有jdbc池的grails 2.2.4中处于等待状态的MySQL语句取消计时器

[英]MySQL Statement Cancellation Timer in waiting state in grails 2.2.4 with jdbc pool

我已经在2.2.4版的grails应用程序上使用了jdbcpool 7.0.47。 当我检查threaddump时,它表明许多“ MySQL语句取消计时器”处于等待状态。 我也尝试将jdbc连接器移到tomcat / lib,但是它开始给mysql一些日期问题。 因此,任何其他杀死这些线程的方法

确定评估连接池的所有参数之后,似乎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
}

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM