1 三月 24, 2016 5:16:33 下午 org.apache.commons.dbcp2.BasicDataSource onSwallowException 2 警告: An internal object pool swallowed an Exception. 3 org.apache.commons.dbcp2.LifetimeExceededException: The lifetime of the connection [14] milliseconds exceeds the maximum permitted value of [10] milliseconds 4 at org.apache.commons.dbcp2.PoolableConnectionFactory.validateLifetime(PoolableConnectionFactory.java:424) 5 at org.apache.commons.dbcp2.PoolableConnectionFactory.passivateObject(PoolableConnectionFactory.java:364) 6 at org.apache.commons.pool2.impl.GenericObjectPool.returnObject(GenericObjectPool.java:581) 7 at org.apache.commons.dbcp2.PoolableConnection.close(PoolableConnection.java:206) 8 at org.apache.commons.dbcp2.DelegatingConnection.closeInternal(DelegatingConnection.java:235) 9 at org.apache.commons.dbcp2.DelegatingConnection.close(DelegatingConnection.java:218) 10 at org.apache.commons.dbcp2.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:244) 11 at org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60) 12 at org.apache.commons.dbutils.AbstractQueryRunner.close(AbstractQueryRunner.java:438) 13 at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:359) 14 at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:307) 15 at com.starunion.java.fsccserver.dao.DbUtilsTemplate.getCount(DbUtilsTemplate.java:188) 16 at com.starunion.java.fsccserver.dao.fs.DaoCdrInfo.getSessionCount(DaoCdrInfo.java:33) 17 at com.starunion.java.fsccserver.service.client.ProcClientReqSql.getCdrSessionCount(ProcClientReqSql.java:45) 18 at com.starunion.java.fsccserver.service.client.ClientReqMsgLogicService.procClientRequest(ClientReqMsgLogicService.java:114) 19 at com.starunion.java.fsccserver.thread.client.SocketClientTcpThread.run(SocketClientTcpThread.java:99)
一、結合我的實際環境,推測這個拋出的原因:
可能是數據庫建立鏈接的時候身份驗證的時候超時。
推測依據:
觀察數據庫鏈接的建立狀態,總是出現花1-5秒的時間。
二、進一步測試,覺得原因【不是建鏈】時候的超時。
應該是數據庫查詢(操作)的時間超時,推測依據:
通過mysql后台執行的操作顯示時間花費0.02s或者更多的時候,這個拋出一定出現。
符合拋出顯示>10ms的條件。
那就應該有設置,不可能要求所有的數據庫操作時間花費都小於10ms吧?
或者是個BUG?
但是不影響返回后面的查詢結果,所以……這個問題先放一放吧。
或者誰能幫我解答一下?