I saw the same behavior in 1.5.x branch and in current 1.6.1
Rife loses jdbc connection after some working time rife and then about
night without any connection to mysql.
This stacktrace (Under jdk 1.6 and tomcat 5.5.17) :
com.mysql.jdbc.CommunicationsException
Communications link failure due to underlying exception: ** BEGIN
NESTED EXCEPTION ** java.io.EOFException STACKTRACE:
java.io.EOFException at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:
1963) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2375)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2874) at
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623) at
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715) at
com.mysql.jdbc.Connection.execSQL(Connection.java:3243) at
com.mysql.jdbc.Connection.setAutoCommit(Connection.java:5371) at
com.uwyn.rife.database.DbConnection.beginTransaction(DbConnection.java:
887) at
com.uwyn.rife.database.DbQueryManager.inTransaction(DbQueryManager.java:
2781) at
com.uwyn.rife.crud.elements.admin.Browse.processElement(Browse.java:
55) at
com.uwyn.rife.engine.ElementContext.processContext(ElementContext.java:
460) at com.uwyn.rife.engine.RequestState.service(RequestState.java:
368) at com.uwyn.rife.engine.Gate.handleRequest(Gate.java:187) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25) at java.lang.reflect.Method.invoke(Method.java:597) at
com.uwyn.rife.servlet.RifeFilter.doFilter(RifeFilter.java:162) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
215) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
188) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
213) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
174) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
127) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
117) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
108) at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
151) at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
874) at org.apache.coyote.http11.Http11BaseProtocol
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:
665) at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:
528) at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:
81) at org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:689) at
java.lang.Thread.run(Thread.java:619) ** END NESTED EXCEPTION ** Last
packet sent to the server was 1 ms ago.
So you can adjust this time in your my.ini or this problem is handeld by
the framework. Our framework creates a dummy query every x minutes, this
forces the connection to be active.
Perhaps this helps
DarkIT schrieb:
To force the connection to stay alive, you can use the
DbProbeExecutor with RIFE's scheduler:
http://rifers.org/docs/api/com/uwyn/rife/database/DbProbeExecutor.html
HTH,
Geert
--
Geert Bevin
Terracotta - http://www.terracotta.org
Uwyn "Use what you need" - http://uwyn.com
RIFE Java application framework - http://rifers.org
Music and words - http://gbevin.com