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/