间歇性“池等待中断.java.sql.SQLException:池等待中断。” Java服务器连接到Mysql

时间:2016-07-01 16:53:59

标签: java mysql tomcat configuration

我没有找到任何有关“游泳池等待中断”意味着什么的好信息。我正在尝试从Tomcat(目前只有6个,即将升级到8个)连接到MySql 5.6并且通常一切正常。在过去的一年中,我们经历了两个时间段(大约两周左右),这个错误:

  

游泳池等待中断。 java.sql.SQLException:池等待中断。

每天至少出现一次。服务器应用程序是一个只读应用程序,其中快速的请求时间性能是必不可少的。

这是我的Connector / J配置信息:

<Resource 
name="connectionJNDIName"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

testOnBorrow="true"
testOnReturn="false"
validationQuery="SELECT 1"
validationInterval="30000"

initialSize="10"
maxActive="100"
maxIdle="50"
minIdle="10"

suspectTimeout="60"
timeBetweenEvictionRunsMillis="30000"
minEvictableIdleTimeMillis="60000"

removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"

testWhileIdle="true"
maxWait="10000"

jmxEnabled="true"
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
username="username"
password="password123"
driverClassName="com.mysql.jdbc.Driver"

url="<databaseConnectionURL>"/>

因为应用程序工作的时间很多,所以我认为这个问题不是由服务器应用程序本身造成的,而是我希望能够更有弹性。 DBA团队告诉我MySql服务器是干净的(当他们到达它进行检查时),但服务器没有返回数据,因为它应该是这样。我查看了设置autoReconnectForPools='true',但阅读了文档,说明了使用它的一些问题 - 我不知道在任何情况下都会解决问题。

0 个答案:

没有答案