List:MySQL and Java« Previous MessageNext Message »
From:Arjan Gerritsen Date:December 20 2004 4:26pm
Subject:"max timeout" problem - connection is not available the first time
View as plain text  
Dear list,

This is the situation. I'm developping a webapplication using Mysql as 
database and "MySQL Connector/J".

It seems to work fine. But it goes wrong when the application isn't used for 
the time of the "max timeout" of Mysql (default: 8 hours). I tried 
everything, I used the autoReconnect and autoReconnectForPools. But it 
doesn't seem to work. I used both new versions of the J connector (the 
production-ready and develop version). But still the same effect, after 8 
hours of inactivity the connection is lost.

I'm out of ideas, so i hope someone can give me a hint or give me a solution 
to this problem. Below a StackTrace of the Exception.

===========
StackTrace:
2004-12-20 16:01:42,781 [EnergyAlert] ERROR [http8080-Processor2] 
(JDBCExceptionReporter.java:46) - Communication link failure: 
java.net.SocketException
2004-12-20 16:01:42,796 [EnergyAlert] ERROR [http8080-Processor2] 
(JDBCException.java:37) - Cannot open connection
java.sql.SQLException: Communication link failure: java.net.SocketException
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1675)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1083)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1142)
at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1114)
at com.mysql.jdbc.Connection.execSQL(Connection.java:1873)
at com.mysql.jdbc.Connection.execSQL(Connection.java:1819)
at com.mysql.jdbc.Connection.execSQL(Connection.java:1800)
at com.mysql.jdbc.Connection.setAutoCommit(Connection.java:604)
at 
org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:266)
at 
org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:266)
at 
org.apache.commons.dbcp.PoolableConnectionFactory.activateObject(PoolableConnectionFactory.java:378)
at 
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:753)
at 
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:140)
at 
net.sf.hibernate.connection.DBCPConnectionProvider.getConnection(DBCPConnectionProvider.java:43)
at 
net.sf.hibernate.impl.SessionFactoryImpl.openConnection(SessionFactoryImpl.java:396)
at net.sf.hibernate.impl.SessionImpl.connection(SessionImpl.java:2914)
at 
net.sf.hibernate.impl.BatcherImpl.prepareQueryStatement(BatcherImpl.java:56)
at net.sf.hibernate.loader.Loader.prepareQueryStatement(Loader.java:482)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:136)
at net.sf.hibernate.loader.Loader.find(Loader.java:620)
at net.sf.hibernate.hql.QueryTranslator.find(QueryTranslator.java:928)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1343)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1322)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1318)
at nl.oblivion.energyalert.security.dao.UserDAO.loadByName(UserDAO.java:169)
at 
nl.oblivion.energyalert.security.filter.LoginFilter.doFilter(LoginFilter.java:89)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:551)
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)

===========

_________________________________________________________________
Speel games met je online vrienden via MSN Messenger 
http://messenger.msn.nl/

Thread
"max timeout" problem - connection is not available the first timeArjan Gerritsen20 Dec
  • Re: "max timeout" problem - connection is not available the firsttimeMark Matthews20 Dec